Feature: Services __init__ lazy-import coverage (round 3)
  Exercise the lazy-loading __getattr__ in
  cleveragents.application.services.__init__ so that the previously
  uncovered lines (561-562, 564-565, 567-569) and the AttributeError
  branch are executed at runtime.

  # ---------- acms_advanced_strategies submodule ----------
  Scenario: svcov3 lazy-load ArceStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ArceStrategy"
    Then svcov3 the attribute "ArceStrategy" should be resolved

  Scenario: svcov3 lazy-load PlanDecisionContextStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "PlanDecisionContextStrategy"
    Then svcov3 the attribute "PlanDecisionContextStrategy" should be resolved

  Scenario: svcov3 lazy-load TemporalArchaeologyStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "TemporalArchaeologyStrategy"
    Then svcov3 the attribute "TemporalArchaeologyStrategy" should be resolved

  # ---------- acms_phase2 submodule ----------
  Scenario: svcov3 lazy-load ContentHashDeduplicator
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ContentHashDeduplicator"
    Then svcov3 the attribute "ContentHashDeduplicator" should be resolved

  Scenario: svcov3 lazy-load GreedyKnapsackPacker
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "GreedyKnapsackPacker"
    Then svcov3 the attribute "GreedyKnapsackPacker" should be resolved

  Scenario: svcov3 lazy-load MaxDepthResolver
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "MaxDepthResolver"
    Then svcov3 the attribute "MaxDepthResolver" should be resolved

  Scenario: svcov3 lazy-load ScorerWeights
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ScorerWeights"
    Then svcov3 the attribute "ScorerWeights" should be resolved

  Scenario: svcov3 lazy-load WeightedCompositeScorer
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "WeightedCompositeScorer"
    Then svcov3 the attribute "WeightedCompositeScorer" should be resolved

  # ---------- acms_phase3 submodule ----------
  Scenario: svcov3 lazy-load ProvenancePreambleGenerator
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ProvenancePreambleGenerator"
    Then svcov3 the attribute "ProvenancePreambleGenerator" should be resolved

  Scenario: svcov3 lazy-load RelevanceCoherenceOrderer
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "RelevanceCoherenceOrderer"
    Then svcov3 the attribute "RelevanceCoherenceOrderer" should be resolved

  # ---------- audit_event_subscriber ----------
  Scenario: svcov3 lazy-load AuditEventSubscriber
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "AuditEventSubscriber"
    Then svcov3 the attribute "AuditEventSubscriber" should be resolved

  # ---------- autonomy_controller ----------
  Scenario: svcov3 lazy-load AutonomyController
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "AutonomyController"
    Then svcov3 the attribute "AutonomyController" should be resolved

  # ---------- autonomy_guardrail_service ----------
  Scenario: svcov3 lazy-load AutonomyGuardrailService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "AutonomyGuardrailService"
    Then svcov3 the attribute "AutonomyGuardrailService" should be resolved

  # ---------- config_service ----------
  Scenario: svcov3 lazy-load ConfigEntry
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ConfigEntry"
    Then svcov3 the attribute "ConfigEntry" should be resolved

  Scenario: svcov3 lazy-load ConfigLevel
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ConfigLevel"
    Then svcov3 the attribute "ConfigLevel" should be resolved

  Scenario: svcov3 lazy-load ConfigService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ConfigService"
    Then svcov3 the attribute "ConfigService" should be resolved

  Scenario: svcov3 lazy-load ResolvedValue
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ResolvedValue"
    Then svcov3 the attribute "ResolvedValue" should be resolved

  # ---------- context_strategies ----------
  Scenario: svcov3 lazy-load BreadthDepthNavigatorStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "BreadthDepthNavigatorStrategy"
    Then svcov3 the attribute "BreadthDepthNavigatorStrategy" should be resolved

  Scenario: svcov3 lazy-load SemanticEmbeddingStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SemanticEmbeddingStrategy"
    Then svcov3 the attribute "SemanticEmbeddingStrategy" should be resolved

  Scenario: svcov3 lazy-load SimpleKeywordStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SimpleKeywordStrategy"
    Then svcov3 the attribute "SimpleKeywordStrategy" should be resolved

  # ---------- correction_service ----------
  Scenario: svcov3 lazy-load CorrectionService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "CorrectionService"
    Then svcov3 the attribute "CorrectionService" should be resolved

  # ---------- cost_budget_service ----------
  Scenario: svcov3 lazy-load CostBudgetService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "CostBudgetService"
    Then svcov3 the attribute "CostBudgetService" should be resolved

  # ---------- cross_plan_correction_service ----------
  Scenario: svcov3 lazy-load CrossPlanCorrectionService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "CrossPlanCorrectionService"
    Then svcov3 the attribute "CrossPlanCorrectionService" should be resolved

  # ---------- decision_service ----------
  Scenario: svcov3 lazy-load DecisionNotFoundError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DecisionNotFoundError"
    Then svcov3 the attribute "DecisionNotFoundError" should be resolved

  Scenario: svcov3 lazy-load DecisionService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DecisionService"
    Then svcov3 the attribute "DecisionService" should be resolved

  Scenario: svcov3 lazy-load DuplicateDecisionError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DuplicateDecisionError"
    Then svcov3 the attribute "DuplicateDecisionError" should be resolved

  Scenario: svcov3 lazy-load SequenceConflictError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SequenceConflictError"
    Then svcov3 the attribute "SequenceConflictError" should be resolved

  Scenario: svcov3 lazy-load SnapshotStore
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SnapshotStore"
    Then svcov3 the attribute "SnapshotStore" should be resolved

  # ---------- decomposition_clustering ----------
  Scenario: svcov3 lazy-load ClusteringStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ClusteringStrategy"
    Then svcov3 the attribute "ClusteringStrategy" should be resolved

  # ---------- decomposition_graph ----------
  Scenario: svcov3 lazy-load DependencyClosureComputer
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DependencyClosureComputer"
    Then svcov3 the attribute "DependencyClosureComputer" should be resolved

  # ---------- decomposition_models ----------
  Scenario: svcov3 lazy-load ClusterStrategy
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ClusterStrategy"
    Then svcov3 the attribute "ClusterStrategy" should be resolved

  Scenario: svcov3 lazy-load DecompositionConfig
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DecompositionConfig"
    Then svcov3 the attribute "DecompositionConfig" should be resolved

  Scenario: svcov3 lazy-load DecompositionNode
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DecompositionNode"
    Then svcov3 the attribute "DecompositionNode" should be resolved

  Scenario: svcov3 lazy-load DecompositionResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DecompositionResult"
    Then svcov3 the attribute "DecompositionResult" should be resolved

  Scenario: svcov3 lazy-load DependencyEdge
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DependencyEdge"
    Then svcov3 the attribute "DependencyEdge" should be resolved

  Scenario: svcov3 lazy-load DependencyGraph
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DependencyGraph"
    Then svcov3 the attribute "DependencyGraph" should be resolved

  Scenario: svcov3 lazy-load DependencyType
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DependencyType"
    Then svcov3 the attribute "DependencyType" should be resolved

  # ---------- decomposition_service ----------
  Scenario: svcov3 lazy-load DecompositionService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DecompositionService"
    Then svcov3 the attribute "DecompositionService" should be resolved

  # ---------- execution_environment_resolver ----------
  Scenario: svcov3 lazy-load ContainerUnavailableError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ContainerUnavailableError"
    Then svcov3 the attribute "ContainerUnavailableError" should be resolved

  Scenario: svcov3 lazy-load ExecutionEnvironmentResolver
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ExecutionEnvironmentResolver"
    Then svcov3 the attribute "ExecutionEnvironmentResolver" should be resolved

  # ---------- fix_then_revalidate ----------
  Scenario: svcov3 lazy-load FixAttemptRecord
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "FixAttemptRecord"
    Then svcov3 the attribute "FixAttemptRecord" should be resolved

  Scenario: svcov3 lazy-load FixThenRevalidateOrchestrator
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "FixThenRevalidateOrchestrator"
    Then svcov3 the attribute "FixThenRevalidateOrchestrator" should be resolved

  Scenario: svcov3 lazy-load FixThenRevalidateResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "FixThenRevalidateResult"
    Then svcov3 the attribute "FixThenRevalidateResult" should be resolved

  # ---------- fusion_engine ----------
  Scenario: svcov3 lazy-load FusionConfig
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "FusionConfig"
    Then svcov3 the attribute "FusionConfig" should be resolved

  Scenario: svcov3 lazy-load FusionEngine
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "FusionEngine"
    Then svcov3 the attribute "FusionEngine" should be resolved

  Scenario: svcov3 lazy-load FusionResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "FusionResult"
    Then svcov3 the attribute "FusionResult" should be resolved

  # ---------- invariant_service ----------
  Scenario: svcov3 lazy-load InvariantService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "InvariantService"
    Then svcov3 the attribute "InvariantService" should be resolved

  # ---------- multi_project_service ----------
  Scenario: svcov3 lazy-load MultiProjectService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "MultiProjectService"
    Then svcov3 the attribute "MultiProjectService" should be resolved

  # ---------- permission_service ----------
  Scenario: svcov3 lazy-load PermissionService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "PermissionService"
    Then svcov3 the attribute "PermissionService" should be resolved

  Scenario: svcov3 lazy-load enforce_permission
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "enforce_permission"
    Then svcov3 the attribute "enforce_permission" should be resolved

  Scenario: svcov3 lazy-load get_default_permission_service
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "get_default_permission_service"
    Then svcov3 the attribute "get_default_permission_service" should be resolved

  Scenario: svcov3 lazy-load set_default_permission_service
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "set_default_permission_service"
    Then svcov3 the attribute "set_default_permission_service" should be resolved

  # ---------- plan_execution_context ----------
  Scenario: svcov3 lazy-load PlanExecutionContext
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "PlanExecutionContext"
    Then svcov3 the attribute "PlanExecutionContext" should be resolved

  Scenario: svcov3 lazy-load RuntimeExecuteActor
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "RuntimeExecuteActor"
    Then svcov3 the attribute "RuntimeExecuteActor" should be resolved

  Scenario: svcov3 lazy-load RuntimeExecuteResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "RuntimeExecuteResult"
    Then svcov3 the attribute "RuntimeExecuteResult" should be resolved

  # ---------- prompt_sanitizer ----------
  Scenario: svcov3 lazy-load PromptInjectionDetected
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "PromptInjectionDetected"
    Then svcov3 the attribute "PromptInjectionDetected" should be resolved

  Scenario: svcov3 lazy-load PromptSanitizer
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "PromptSanitizer"
    Then svcov3 the attribute "PromptSanitizer" should be resolved

  Scenario: svcov3 lazy-load SanitizationResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SanitizationResult"
    Then svcov3 the attribute "SanitizationResult" should be resolved

  # ---------- repo_indexing_service ----------
  Scenario: svcov3 lazy-load RepoIndexingService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "RepoIndexingService"
    Then svcov3 the attribute "RepoIndexingService" should be resolved

  # ---------- semantic_validation_rules ----------
  Scenario: svcov3 lazy-load APIMisuseRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "APIMisuseRule"
    Then svcov3 the attribute "APIMisuseRule" should be resolved

  Scenario: svcov3 lazy-load BrokenReferenceRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "BrokenReferenceRule"
    Then svcov3 the attribute "BrokenReferenceRule" should be resolved

  Scenario: svcov3 lazy-load DependencyCycleRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DependencyCycleRule"
    Then svcov3 the attribute "DependencyCycleRule" should be resolved

  Scenario: svcov3 lazy-load DuplicateImportRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DuplicateImportRule"
    Then svcov3 the attribute "DuplicateImportRule" should be resolved

  Scenario: svcov3 lazy-load MissingImportRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "MissingImportRule"
    Then svcov3 the attribute "MissingImportRule" should be resolved

  Scenario: svcov3 lazy-load MissingSymbolRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "MissingSymbolRule"
    Then svcov3 the attribute "MissingSymbolRule" should be resolved

  Scenario: svcov3 lazy-load SemanticCheckResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SemanticCheckResult"
    Then svcov3 the attribute "SemanticCheckResult" should be resolved

  Scenario: svcov3 lazy-load SemanticValidationSeverity
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SemanticValidationSeverity"
    Then svcov3 the attribute "SemanticValidationSeverity" should be resolved

  Scenario: svcov3 lazy-load SyntaxCheckRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SyntaxCheckRule"
    Then svcov3 the attribute "SyntaxCheckRule" should be resolved

  # ---------- semantic_validation_service ----------
  Scenario: svcov3 lazy-load NormalisedOutputDict
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "NormalisedOutputDict"
    Then svcov3 the attribute "NormalisedOutputDict" should be resolved

  Scenario: svcov3 lazy-load PipelineResultDict
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "PipelineResultDict"
    Then svcov3 the attribute "PipelineResultDict" should be resolved

  Scenario: svcov3 lazy-load SemanticRuleRegistry
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SemanticRuleRegistry"
    Then svcov3 the attribute "SemanticRuleRegistry" should be resolved

  Scenario: svcov3 lazy-load SemanticValidationCache
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SemanticValidationCache"
    Then svcov3 the attribute "SemanticValidationCache" should be resolved

  Scenario: svcov3 lazy-load SemanticValidationRule
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SemanticValidationRule"
    Then svcov3 the attribute "SemanticValidationRule" should be resolved

  Scenario: svcov3 lazy-load SemanticValidationService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SemanticValidationService"
    Then svcov3 the attribute "SemanticValidationService" should be resolved

  Scenario: svcov3 lazy-load create_default_registry
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "create_default_registry"
    Then svcov3 the attribute "create_default_registry" should be resolved

  Scenario: svcov3 lazy-load map_severity_to_mode
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "map_severity_to_mode"
    Then svcov3 the attribute "map_severity_to_mode" should be resolved

  Scenario: svcov3 lazy-load resolve_severity
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "resolve_severity"
    Then svcov3 the attribute "resolve_severity" should be resolved

  # ---------- service_retry_wiring ----------
  Scenario: svcov3 lazy-load ServiceRetryWiring
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ServiceRetryWiring"
    Then svcov3 the attribute "ServiceRetryWiring" should be resolved

  # ---------- session_service ----------
  Scenario: svcov3 lazy-load PersistentSessionService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "PersistentSessionService"
    Then svcov3 the attribute "PersistentSessionService" should be resolved

  # ---------- skeleton_compressor ----------
  Scenario: svcov3 lazy-load SkeletonCompressorService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SkeletonCompressorService"
    Then svcov3 the attribute "SkeletonCompressorService" should be resolved

  # ---------- skill_registry_service ----------
  Scenario: svcov3 lazy-load SkillRegistryService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SkillRegistryService"
    Then svcov3 the attribute "SkillRegistryService" should be resolved

  # ---------- strategy_coordinator ----------
  Scenario: svcov3 lazy-load CoordinationResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "CoordinationResult"
    Then svcov3 the attribute "CoordinationResult" should be resolved

  Scenario: svcov3 lazy-load CoordinatorConfig
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "CoordinatorConfig"
    Then svcov3 the attribute "CoordinatorConfig" should be resolved

  Scenario: svcov3 lazy-load StrategyCoordinator
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "StrategyCoordinator"
    Then svcov3 the attribute "StrategyCoordinator" should be resolved

  # ---------- strategy_registry ----------
  Scenario: svcov3 lazy-load StrategyNotFoundError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "StrategyNotFoundError"
    Then svcov3 the attribute "StrategyNotFoundError" should be resolved

  Scenario: svcov3 lazy-load StrategyRegistrationError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "StrategyRegistrationError"
    Then svcov3 the attribute "StrategyRegistrationError" should be resolved

  Scenario: svcov3 lazy-load StrategyRegistry
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "StrategyRegistry"
    Then svcov3 the attribute "StrategyRegistry" should be resolved

  # ---------- subplan_execution_service ----------
  Scenario: svcov3 lazy-load SubplanExecutionOutput
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SubplanExecutionOutput"
    Then svcov3 the attribute "SubplanExecutionOutput" should be resolved

  Scenario: svcov3 lazy-load SubplanExecutionResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SubplanExecutionResult"
    Then svcov3 the attribute "SubplanExecutionResult" should be resolved

  Scenario: svcov3 lazy-load SubplanExecutionService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SubplanExecutionService"
    Then svcov3 the attribute "SubplanExecutionService" should be resolved

  # ---------- subplan_merge_service ----------
  Scenario: svcov3 lazy-load FileMergeOutcome
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "FileMergeOutcome"
    Then svcov3 the attribute "FileMergeOutcome" should be resolved

  Scenario: svcov3 lazy-load MergeConflictError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "MergeConflictError"
    Then svcov3 the attribute "MergeConflictError" should be resolved

  Scenario: svcov3 lazy-load SubplanMergeResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SubplanMergeResult"
    Then svcov3 the attribute "SubplanMergeResult" should be resolved

  Scenario: svcov3 lazy-load SubplanMergeService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SubplanMergeService"
    Then svcov3 the attribute "SubplanMergeService" should be resolved

  # ---------- subplan_service ----------
  Scenario: svcov3 lazy-load SpawnEntry
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SpawnEntry"
    Then svcov3 the attribute "SpawnEntry" should be resolved

  Scenario: svcov3 lazy-load SpawnMetadata
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SpawnMetadata"
    Then svcov3 the attribute "SpawnMetadata" should be resolved

  Scenario: svcov3 lazy-load SpawnResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SpawnResult"
    Then svcov3 the attribute "SpawnResult" should be resolved

  Scenario: svcov3 lazy-load SubplanSpawnError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SubplanSpawnError"
    Then svcov3 the attribute "SubplanSpawnError" should be resolved

  Scenario: svcov3 lazy-load SpawnValidationResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SpawnValidationResult"
    Then svcov3 the attribute "SpawnValidationResult" should be resolved

  Scenario: svcov3 lazy-load SubplanService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "SubplanService"
    Then svcov3 the attribute "SubplanService" should be resolved

  # ---------- temporal_service ----------
  Scenario: svcov3 lazy-load TemporalService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "TemporalService"
    Then svcov3 the attribute "TemporalService" should be resolved

  # ---------- tool_registry_service ----------
  Scenario: svcov3 lazy-load ToolRegistryService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ToolRegistryService"
    Then svcov3 the attribute "ToolRegistryService" should be resolved

  # ---------- trace_service ----------
  Scenario: svcov3 lazy-load TraceService
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "TraceService"
    Then svcov3 the attribute "TraceService" should be resolved

  # ---------- uko_indexer ----------
  Scenario: svcov3 lazy-load UKOIndexer
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "UKOIndexer"
    Then svcov3 the attribute "UKOIndexer" should be resolved

  # ---------- uko_indexer_protocols ----------
  Scenario: svcov3 lazy-load ContentReader
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ContentReader"
    Then svcov3 the attribute "ContentReader" should be resolved

  Scenario: svcov3 lazy-load DefaultLifecycleHook
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DefaultLifecycleHook"
    Then svcov3 the attribute "DefaultLifecycleHook" should be resolved

  Scenario: svcov3 lazy-load IndexLifecycleHook
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "IndexLifecycleHook"
    Then svcov3 the attribute "IndexLifecycleHook" should be resolved

  Scenario: svcov3 lazy-load LocationContentReader
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "LocationContentReader"
    Then svcov3 the attribute "LocationContentReader" should be resolved

  # ---------- uko_loader ----------
  Scenario: svcov3 lazy-load UKOLoader
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "UKOLoader"
    Then svcov3 the attribute "UKOLoader" should be resolved

  Scenario: svcov3 lazy-load UKOValidationError
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "UKOValidationError"
    Then svcov3 the attribute "UKOValidationError" should be resolved

  # ---------- validation_apply ----------
  Scenario: svcov3 lazy-load ApplyValidationGate
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ApplyValidationGate"
    Then svcov3 the attribute "ApplyValidationGate" should be resolved

  Scenario: svcov3 lazy-load ApplyValidationResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ApplyValidationResult"
    Then svcov3 the attribute "ApplyValidationResult" should be resolved

  Scenario: svcov3 lazy-load ApplyValidationSummary
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ApplyValidationSummary"
    Then svcov3 the attribute "ApplyValidationSummary" should be resolved

  Scenario: svcov3 lazy-load AttachmentScope
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "AttachmentScope"
    Then svcov3 the attribute "AttachmentScope" should be resolved

  Scenario: svcov3 lazy-load DefaultValidationRunner
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "DefaultValidationRunner"
    Then svcov3 the attribute "DefaultValidationRunner" should be resolved

  Scenario: svcov3 lazy-load ValidationAttachment
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ValidationAttachment"
    Then svcov3 the attribute "ValidationAttachment" should be resolved

  Scenario: svcov3 lazy-load ValidationRunner
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ValidationRunner"
    Then svcov3 the attribute "ValidationRunner" should be resolved

  # ---------- validation_pipeline ----------
  Scenario: svcov3 lazy-load ValidationCommand
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ValidationCommand"
    Then svcov3 the attribute "ValidationCommand" should be resolved

  Scenario: svcov3 lazy-load ValidationPipeline
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ValidationPipeline"
    Then svcov3 the attribute "ValidationPipeline" should be resolved

  Scenario: svcov3 lazy-load ValidationResult
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ValidationResult"
    Then svcov3 the attribute "ValidationResult" should be resolved

  Scenario: svcov3 lazy-load ValidationSummary
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ValidationSummary"
    Then svcov3 the attribute "ValidationSummary" should be resolved

  # ---------- error / edge-case paths ----------
  Scenario: svcov3 unknown attribute raises AttributeError
    Given svcov3 a fresh services module
    When svcov3 I access an unknown attribute "NoSuchSymbol_xyzzy"
    Then svcov3 an AttributeError should be stored for "NoSuchSymbol_xyzzy"

  Scenario: svcov3 __all__ matches _LAZY_IMPORTS keys
    Given svcov3 a fresh services module
    Then svcov3 __all__ should equal sorted _LAZY_IMPORTS keys

  Scenario: svcov3 cached attribute skips __getattr__ on second access
    Given svcov3 a fresh services module
    When svcov3 I access lazy attribute "ConfigEntry"
    And svcov3 I access lazy attribute "ConfigEntry" again
    Then svcov3 the attribute "ConfigEntry" should be resolved
