From 5f971f1d2dc2875d3b4a00a1c65d86c767d47126 Mon Sep 17 00:00:00 2001 From: Jeremy McEntire Date: Sat, 30 May 2026 14:47:01 -0500 Subject: [PATCH] Add merge-friendly Kindex project graph --- .kin/.gitignore | 7 + .kin/code-map.json | 23497 +++++++++++++++++++++++++------------------ .kin/config | 97 +- .kin/index.json | 5941 +++++++++++ 4 files changed, 19931 insertions(+), 9611 deletions(-) create mode 100644 .kin/.gitignore create mode 100644 .kin/index.json diff --git a/.kin/.gitignore b/.kin/.gitignore new file mode 100644 index 0000000..60bd903 --- /dev/null +++ b/.kin/.gitignore @@ -0,0 +1,7 @@ +/local/ +/cache/ +/tmp/ +/private/ +*.db +*.sqlite +*.sqlite3 diff --git a/.kin/code-map.json b/.kin/code-map.json index 26eea36..a390dc9 100644 --- a/.kin/code-map.json +++ b/.kin/code-map.json @@ -1,12375 +1,7532 @@ { - "version": "1.0.0", - "project": { - "name": "apprentice", - "description": "Code map exported from Kindex for apprentice.", - "languages": [ - "Python" - ], - "frameworks": [], - "analyzedAt": "2026-05-24T14:47:54", - "gitCommitHash": "26a7db5181c7413cac68e149a968b23fd4f6147c" - }, - "nodes": [ + "edges": [ { - "id": "code-mod-apprentice-49890ffd0587", - "type": "file", - "name": "src/apprentice/training_data_store.py", - "filePath": "src/apprentice/training_data_store.py", - "summary": "Language: Python | Path: src/apprentice/training_data_store.py | ~840 lines ## Classes - AddExampleResult(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 25, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-0a44add2cd47", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-bbfebc12095e", - "type": "file", - "name": "src/apprentice/report_generator/models.py", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "Language: Python | Path: src/apprentice/report_generator/models.py | ~228 lines ## Classes - Alert(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 14, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-0a44add2cd47", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-90f3611e37ae", - "type": "file", - "name": "src/apprentice/report_generator/report_generator.py", - "filePath": "src/apprentice/report_generator/report_generator.py", - "summary": "Language: Python | Path: src/apprentice/report_generator/report_generator.py | ~110 lines ## Functions - deliver_webhook( report: SystemReport, webhook_url: str, timeout_seconds: int ) -> DeliveryResult", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-0a44add2cd47", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-d1f56cbb4596", - "type": "file", - "name": "src/apprentice/reporting.py", - "filePath": "src/apprentice/reporting.py", - "summary": "Language: Python | Path: src/apprentice/reporting.py | ~262 lines ## Classes - AuditDataSource(Protocol)", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-0e7125609223", + "target": "code-mod-apprentice-302d93954718", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-c0e74683670f", - "type": "file", - "name": "src/apprentice/package_runtime.py", - "filePath": "src/apprentice/package_runtime.py", - "summary": "Language: Python | Path: src/apprentice/package_runtime.py | ~445 lines ## Classes - AllowBuiltinToolPreflightClient(ToolPreflightClient)", - "tags": [ - "code", - "python" - ], - "complexity": 21, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-0e7125609223", + "target": "code-mod-apprentice-679f57c4c4db", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-5aeba9d79e32", - "type": "file", - "name": "src/apprentice/remote_api_client.py", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "Language: Python | Path: src/apprentice/remote_api_client.py | ~709 lines ## Classes - AnthropicClient(BaseRemoteClient)", - "tags": [ - "code", - "python" - ], - "complexity": 25, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-0e7125609223", + "target": "code-mod-apprentice-91d05597a213", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-2b60fdaaa17c", - "type": "file", - "name": "src/apprentice/apprentice_class.py", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "Language: Python | Path: src/apprentice/apprentice_class.py | ~1094 lines ## Classes - Apprentice", - "tags": [ - "code", - "python" - ], - "complexity": 18, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-0e7125609223", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-0e7125609223", - "type": "file", - "name": "src/apprentice/config_and_registry.py", - "filePath": "src/apprentice/config_and_registry.py", - "summary": "Language: Python | Path: src/apprentice/config_and_registry.py | ~147 lines ## Classes - TaskRegistry(task_registry.TaskRegistry)", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-1698980bbd1a", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-91d05597a213", - "type": "file", - "name": "src/apprentice/config_loader.py", - "filePath": "src/apprentice/config_loader.py", - "summary": "Language: Python | Path: src/apprentice/config_loader.py | ~680 lines ## Classes - ApprenticeConfig(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 32, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-1698980bbd1a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-921fa79fbb5d", - "type": "file", - "name": "src/apprentice/cli/serve.py", - "filePath": "src/apprentice/cli/serve.py", - "summary": "Language: Python | Path: src/apprentice/cli/serve.py | ~962 lines ## Classes - ApprenticeServer", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-1f9cceef3863", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-e8d0a78f189b", - "type": "file", - "name": "src/apprentice/story_learner.py", - "filePath": "src/apprentice/story_learner.py", - "summary": "Language: Python | Path: src/apprentice/story_learner.py | ~388 lines ## Classes - ApprenticeStoryLearner", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-1f9cceef3863", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-7906e1efa075", - "type": "file", - "name": "src/apprentice/audit_log.py", - "filePath": "src/apprentice/audit_log.py", - "summary": "Language: Python | Path: src/apprentice/audit_log.py | ~456 lines ## Classes - AuditConfig(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2818110a5e2c", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-a3d269d5aae8", - "type": "file", - "name": "src/apprentice/audit_log_adapter.py", - "filePath": "src/apprentice/audit_log_adapter.py", - "summary": "Language: Python | Path: src/apprentice/audit_log_adapter.py | ~202 lines ## Classes - AuditConfig", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2818110a5e2c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-302d93954718", - "type": "file", - "name": "src/apprentice/data_models.py", - "filePath": "src/apprentice/data_models.py", - "summary": "Language: Python | Path: src/apprentice/data_models.py | ~1011 lines ## Classes - AuditEntry(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 37, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2b60fdaaa17c", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-d129ec7b3fe6", - "type": "file", - "name": "src/apprentice/router.py", - "filePath": "src/apprentice/router.py", - "summary": "Language: Python | Path: src/apprentice/router.py | ~725 lines ## Classes - AuditLogger(Protocol)", - "tags": [ - "code", - "python" - ], - "complexity": 26, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2b60fdaaa17c", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-2bf9d68f63ad", - "type": "file", - "name": "src/apprentice/fine_tuning_orchestrator.py", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "Language: Python | Path: src/apprentice/fine_tuning_orchestrator.py | ~597 lines ## Classes - BackendType(str, Enum)", - "tags": [ - "code", - "python" - ], - "complexity": 25, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2b60fdaaa17c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-0a44add2cd47", - "type": "file", - "name": "src/apprentice/local_model_server.py", - "filePath": "src/apprentice/local_model_server.py", - "summary": "Language: Python | Path: src/apprentice/local_model_server.py | ~705 lines ## Classes - BaseClientConfig(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 15, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2bf9d68f63ad", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-687320155f0f", - "type": "file", - "name": "src/apprentice/budget_manager.py", - "filePath": "src/apprentice/budget_manager.py", - "summary": "Language: Python | Path: src/apprentice/budget_manager.py | ~1039 lines ## Classes - BudgetAuthorizationResult(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 18, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2bf9d68f63ad", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-a900b12b40af", - "type": "file", - "name": "src/apprentice/confidence_engine.py", - "filePath": "src/apprentice/confidence_engine.py", - "summary": "Language: Python | Path: src/apprentice/confidence_engine.py | ~699 lines ## Classes - ConfidenceEngine", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2ddb51ce83da", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-dd5d89009dab", - "type": "file", - "name": "src/apprentice/rolling_window.py", - "filePath": "src/apprentice/rolling_window.py", - "summary": "Language: Python | Path: src/apprentice/rolling_window.py | ~482 lines ## Classes - ComparisonPair(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 13, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-2ddb51ce83da", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-b5f70562b149", - "type": "file", - "name": "src/apprentice/pii_detection.py", - "filePath": "src/apprentice/pii_detection.py", - "summary": "Language: Python | Path: src/apprentice/pii_detection.py | ~389 lines ## Classes - CompositeDetectionPipeline", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-302d93954718", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-679f57c4c4db", - "type": "file", - "name": "src/apprentice/task_registry.py", - "filePath": "src/apprentice/task_registry.py", - "summary": "Language: Python | Path: src/apprentice/task_registry.py | ~473 lines ## Classes - ConfidenceThresholds(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 10, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-302d93954718", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-778f4e5a0cd4", - "type": "file", - "name": "src/apprentice/report_generator/exceptions.py", - "filePath": "src/apprentice/report_generator/exceptions.py", - "summary": "Language: Python | Path: src/apprentice/report_generator/exceptions.py | ~21 lines ## Classes - ConfigValidationError(Exception)", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-33517cccbba1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-cf878b8f317c", - "type": "file", - "name": "src/apprentice/evaluators.py", - "filePath": "src/apprentice/evaluators.py", - "summary": "Language: Python | Path: src/apprentice/evaluators.py | ~739 lines ## Classes - EvaluationResult(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 16, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-4174c65f149a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-7fa8b703f13e", - "type": "file", - "name": "src/apprentice/plugin_registry.py", - "filePath": "src/apprentice/plugin_registry.py", - "summary": "Language: Python | Path: src/apprentice/plugin_registry.py | ~231 lines ## Classes - DuplicatePluginError(PluginError)", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-47cb5b732738", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-594207c53b32", - "type": "file", - "name": "src/apprentice/wos_models.py", - "filePath": "src/apprentice/wos_models.py", - "summary": "Language: Python | Path: src/apprentice/wos_models.py | ~150 lines ## Classes - EventResponse(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 9, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-47cb5b732738", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-2818110a5e2c", - "type": "file", - "name": "docker/trainer/train.py", - "filePath": "docker/trainer/train.py", - "summary": "Language: Python | Path: docker/trainer/train.py | ~189 lines ## Functions - main() -> None", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-49890ffd0587", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-f56c09bf9856", - "type": "file", - "name": "src/apprentice/pii_evaluation.py", - "filePath": "src/apprentice/pii_evaluation.py", - "summary": "Language: Python | Path: src/apprentice/pii_evaluation.py | ~82 lines ## Classes - EntityMetrics(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 5, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-49890ffd0587", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-2ddb51ce83da", - "type": "file", - "name": "src/apprentice/model_validator.py", - "filePath": "src/apprentice/model_validator.py", - "summary": "Language: Python | Path: src/apprentice/model_validator.py | ~601 lines ## Classes - EvaluationScore(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 13, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } - }, + "direction": "outbound", + "source": "code-mod-apprentice-594207c53b32", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, { - "id": "code-mod-apprentice-c977facfc7be", - "type": "file", - "name": "src/apprentice/journey_evaluator.py", - "filePath": "src/apprentice/journey_evaluator.py", - "summary": "Language: Python | Path: src/apprentice/journey_evaluator.py | ~302 lines ## Classes - EvaluatorConfig", - "tags": [ - "code", - "python" - ], - "complexity": 14, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-5aeba9d79e32", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-ec2a8da1caa1", - "type": "file", - "name": "src/apprentice/event_handler.py", - "filePath": "src/apprentice/event_handler.py", - "summary": "Language: Python | Path: src/apprentice/event_handler.py | ~152 lines ## Classes - EventDispatcher", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-5aeba9d79e32", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-ffd91da06870", - "type": "file", - "name": "src/apprentice/observer.py", - "filePath": "src/apprentice/observer.py", - "summary": "Language: Python | Path: src/apprentice/observer.py | ~238 lines ## Classes - EventType(str, Enum)", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-679f57c4c4db", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-99af4df423f2", - "type": "file", - "name": "src/apprentice/feedback_collector.py", - "filePath": "src/apprentice/feedback_collector.py", - "summary": "Language: Python | Path: src/apprentice/feedback_collector.py | ~249 lines ## Classes - FeedbackCollector", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-679f57c4c4db", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-b627511984c7", - "type": "file", - "name": "src/apprentice/pii_tokenizer.py", - "filePath": "src/apprentice/pii_tokenizer.py", - "summary": "Language: Python | Path: src/apprentice/pii_tokenizer.py | ~488 lines ## Classes - FieldPIIStats(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 9, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-687320155f0f", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-7d6467b32525", - "type": "file", - "name": "src/apprentice/cli/cli.py", - "filePath": "src/apprentice/cli/cli.py", - "summary": "Language: Python | Path: src/apprentice/cli/cli.py | ~1127 lines ## Classes - JSONFormatter(logging.Formatter)", - "tags": [ - "code", - "python" - ], - "complexity": 15, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-687320155f0f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-1698980bbd1a", - "type": "file", - "name": "src/apprentice/kubernetes_lora_backend.py", - "filePath": "src/apprentice/kubernetes_lora_backend.py", - "summary": "Language: Python | Path: src/apprentice/kubernetes_lora_backend.py | ~626 lines ## Classes - KubernetesLoRABackend(FineTuneBackend)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-72afa61c9f97", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-4174c65f149a", - "type": "file", - "name": "src/apprentice/phase_tracking.py", - "filePath": "src/apprentice/phase_tracking.py", - "summary": "Language: Python | Path: src/apprentice/phase_tracking.py | ~323 lines ## Classes - MetricEvent", - "tags": [ - "code", - "python" - ], - "complexity": 17, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-778f4e5a0cd4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-b5da1f71cb29", - "type": "file", - "name": "src/apprentice/middleware.py", - "filePath": "src/apprentice/middleware.py", - "summary": "Language: Python | Path: src/apprentice/middleware.py | ~194 lines ## Classes - Middleware(Protocol)", - "tags": [ - "code", - "python" - ], - "complexity": 5, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-7906e1efa075", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-47cb5b732738", - "type": "file", - "name": "src/apprentice/report_generator/core.py", - "filePath": "src/apprentice/report_generator/core.py", - "summary": "Language: Python | Path: src/apprentice/report_generator/core.py | ~179 lines ## Classes - ReportFormatter", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-7d6467b32525", + "target": "code-mod-apprentice-91d05597a213", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-af535fde5695", - "type": "file", - "name": "src/apprentice/__init__.py", - "filePath": "src/apprentice/__init__.py", - "summary": "Language: Python | Path: src/apprentice/__init__.py | ~21 lines", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-7d6467b32525", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-72afa61c9f97", - "type": "file", - "name": "src/apprentice/root/__init__.py", - "filePath": "src/apprentice/root/__init__.py", - "summary": "Language: Python | Path: src/apprentice/root/__init__.py | ~29 lines", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-7fa8b703f13e", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-mod-apprentice-9020541c2233", - "type": "file", - "name": "src/apprentice/cli/init_wizard.py", - "filePath": "src/apprentice/cli/init_wizard.py", - "summary": "Language: Python | Path: src/apprentice/cli/init_wizard.py | ~51 lines ## Functions - run_wizard(output_path: str = \"./apprentice.yaml\") -> str", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-7fa8b703f13e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-ef80e4db7287", - "type": "file", - "name": "src/apprentice/wos_handler.py", - "filePath": "src/apprentice/wos_handler.py", - "summary": "Language: Python | Path: src/apprentice/wos_handler.py | ~137 lines ## Functions - handle_event(apprentice: Any, event: WOSEvent) -> EventResponse", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-mod-apprentice-8cb1418b8ce0", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1f1c402b864e", - "type": "class", - "name": "WebhookDelivery", - "filePath": "src/apprentice/report_generator/core.py", - "summary": "class WebhookDelivery (src/apprentice/report_generator/core.py:173) ## Methods - deliver_webhook( self, report: SystemReport, webhook_url: str, timeout_seconds: int ) -> DeliveryResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-8cb1418b8ce0", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-39c3086e4000", - "type": "class", - "name": "ReportFormatter", - "filePath": "src/apprentice/report_generator/core.py", - "summary": "class ReportFormatter (src/apprentice/report_generator/core.py:86) ## Methods - format_report(self, report: SystemReport, output_format: str) -> FormattedReport", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-8cb1418b8ce0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-18e54562cb38", - "type": "class", - "name": "ReportGenerator", - "filePath": "src/apprentice/report_generator/core.py", - "summary": "class ReportGenerator (src/apprentice/report_generator/core.py:21) ## Methods - generate_report(self, config: ReportConfig) -> SystemReport", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-9020541c2233", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-95deecb4c2fc", - "type": "class", - "name": "MiddlewarePipeline", - "filePath": "src/apprentice/middleware.py", - "summary": "class MiddlewarePipeline (src/apprentice/middleware.py:119) ## Methods - execute_post( self, context: MiddlewareContext, response: MiddlewareResponse ) -> MiddlewareResponse", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-90f3611e37ae", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-86a8cdb85c59", - "type": "class", - "name": "MiddlewareResponse", - "filePath": "src/apprentice/middleware.py", - "summary": "class MiddlewareResponse(BaseModel) (src/apprentice/middleware.py:50)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-90f3611e37ae", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1f280475e2a1", - "type": "class", - "name": "StoryMetricsStore", - "filePath": "src/apprentice/phase_tracking.py", - "summary": "class StoryMetricsStore (src/apprentice/phase_tracking.py:97) ## Methods - get(self, story_type: str) -> PhaseMetrics", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-91d05597a213", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-962e6c58f3aa", - "type": "class", - "name": "Middleware", - "filePath": "src/apprentice/middleware.py", - "summary": "class Middleware(Protocol) (src/apprentice/middleware.py:94) ## Methods - post_process( self, context: MiddlewareContext, response: MiddlewareResponse ) -> MiddlewareResponse", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-91d05597a213", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1bc977dc54c4", - "type": "class", - "name": "MiddlewareContext", - "filePath": "src/apprentice/middleware.py", - "summary": "class MiddlewareContext(BaseModel) (src/apprentice/middleware.py:30)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-921fa79fbb5d", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9dee6fa10312", - "type": "class", - "name": "MiddlewareError", - "filePath": "src/apprentice/middleware.py", - "summary": "class MiddlewareError(Exception) (src/apprentice/middleware.py:70)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-921fa79fbb5d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ad0effd1d6de", - "type": "class", - "name": "Phase", - "filePath": "src/apprentice/phase_tracking.py", - "summary": "class Phase(str, Enum) (src/apprentice/phase_tracking.py:25) ## Methods - level(self) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-99af4df423f2", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4e4bcdd435e4", - "type": "class", - "name": "PhaseComputationResult", - "filePath": "src/apprentice/phase_tracking.py", - "summary": "class PhaseComputationResult (src/apprentice/phase_tracking.py:113)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-9f54b8fd07aa", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-7050655a9637", - "type": "class", - "name": "PhaseMetrics", - "filePath": "src/apprentice/phase_tracking.py", - "summary": "class PhaseMetrics (src/apprentice/phase_tracking.py:44) ## Methods - __post_init__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-9f54b8fd07aa", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b7cdb59274ad", - "type": "class", - "name": "PhaseTracker", - "filePath": "src/apprentice/phase_tracking.py", - "summary": "class PhaseTracker (src/apprentice/phase_tracking.py:193) ## Methods - compute_phase(self, story_type: Optional[str] = None) -> PhaseComputationResult", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-9f54b8fd07aa", + "target": "code-mod-apprentice-7d6467b32525", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-5e43f8c09308", - "type": "class", - "name": "KubernetesLoRABackend", - "filePath": "src/apprentice/kubernetes_lora_backend.py", - "summary": "class KubernetesLoRABackend(FineTuneBackend) (src/apprentice/kubernetes_lora_backend.py:121) ## Methods - cleanup_gcs_artifacts(self, run_id: str) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-9f54b8fd07aa", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ba81bc975c18", - "type": "class", - "name": "KubernetesLoRABackendConfig", - "filePath": "src/apprentice/kubernetes_lora_backend.py", - "summary": "class KubernetesLoRABackendConfig(BaseModel) (src/apprentice/kubernetes_lora_backend.py:40)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-9f54b8fd07aa", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9cdf1864bcd3", - "type": "class", - "name": "MetricEvent", - "filePath": "src/apprentice/phase_tracking.py", - "summary": "class MetricEvent (src/apprentice/phase_tracking.py:121)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-a2fa0f4c007f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9d031e321a28", - "type": "class", - "name": "PIITokenizerConfig", - "filePath": "src/apprentice/pii_tokenizer.py", - "summary": "class PIITokenizerConfig(BaseModel) (src/apprentice/pii_tokenizer.py:48)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-a3d269d5aae8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ed282445f7e2", - "type": "class", - "name": "TokenRegistry", - "filePath": "src/apprentice/pii_tokenizer.py", - "summary": "class TokenRegistry (src/apprentice/pii_tokenizer.py:87) ## Methods - clear(self) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-a900b12b40af", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-36d0788b3256", - "type": "class", - "name": "JSONFormatter", - "filePath": "src/apprentice/cli/cli.py", - "summary": "class JSONFormatter(logging.Formatter) (src/apprentice/cli/cli.py:81) ## Methods - format(self, record: logging.LogRecord) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-a900b12b40af", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-df153a561c9c", - "type": "class", - "name": "FieldPIIStats", - "filePath": "src/apprentice/pii_tokenizer.py", - "summary": "class FieldPIIStats(BaseModel) (src/apprentice/pii_tokenizer.py:136) ## Methods - computed_confidence(self) -> float", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-a900b12b40af", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3eda52a0a4e6", - "type": "class", - "name": "LearnedPatternStore", - "filePath": "src/apprentice/pii_tokenizer.py", - "summary": "class LearnedPatternStore (src/apprentice/pii_tokenizer.py:161) ## Methods - flush(self) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 5, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-a900b12b40af", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ff31ede95377", - "type": "class", - "name": "PIITokenizer", - "filePath": "src/apprentice/pii_tokenizer.py", - "summary": "class PIITokenizer (src/apprentice/pii_tokenizer.py:408) ## Methods - post_process( self, context: MiddlewareContext, response: MiddlewareResponse ) -> MiddlewareResponse", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-ad0541b8a96a", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-82f232151680", - "type": "class", - "name": "FeedbackCollector", - "filePath": "src/apprentice/feedback_collector.py", - "summary": "class FeedbackCollector (src/apprentice/feedback_collector.py:88) ## Methods - compute_feedback_adjustment(self, task_name: str) -> float", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-ad0541b8a96a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d45a1b562911", - "type": "class", - "name": "FeedbackConfig", - "filePath": "src/apprentice/feedback_collector.py", - "summary": "class FeedbackConfig(BaseModel) (src/apprentice/feedback_collector.py:76)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-af535fde5695", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-631432820380", - "type": "class", - "name": "FeedbackEntry", - "filePath": "src/apprentice/feedback_collector.py", - "summary": "class FeedbackEntry(BaseModel) (src/apprentice/feedback_collector.py:47)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-b5da1f71cb29", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-81cc5b2105da", - "type": "class", - "name": "FeedbackSummary", - "filePath": "src/apprentice/feedback_collector.py", - "summary": "class FeedbackSummary(BaseModel) (src/apprentice/feedback_collector.py:61)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-b5f70562b149", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8a4e88b682d9", - "type": "class", - "name": "FeedbackType", - "filePath": "src/apprentice/feedback_collector.py", - "summary": "class FeedbackType(str, Enum) (src/apprentice/feedback_collector.py:32)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-b5f70562b149", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-02ffd4562192", - "type": "class", - "name": "Observer", - "filePath": "src/apprentice/observer.py", - "summary": "class Observer (src/apprentice/observer.py:97) ## Methods - clear(self, task_name: str) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 5, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-b627511984c7", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9e4b767dd156", - "type": "class", - "name": "ObserverConfig", - "filePath": "src/apprentice/observer.py", - "summary": "class ObserverConfig(BaseModel) (src/apprentice/observer.py:62)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-b627511984c7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ea6ff8b3dd58", - "type": "class", - "name": "ShadowRecommendation", - "filePath": "src/apprentice/observer.py", - "summary": "class ShadowRecommendation(BaseModel) (src/apprentice/observer.py:50)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-bbfebc12095e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a2f09cdca4e6", - "type": "class", - "name": "EventDispatcher", - "filePath": "src/apprentice/event_handler.py", - "summary": "class EventDispatcher (src/apprentice/event_handler.py:70) ## Methods - close(self) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-bce9535eb9ab", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-12dac1a0e790", - "type": "class", - "name": "EventType", - "filePath": "src/apprentice/observer.py", - "summary": "class EventType(str, Enum) (src/apprentice/observer.py:26)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-c0e74683670f", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-81db573e5d1a", - "type": "class", - "name": "ObservationEvent", - "filePath": "src/apprentice/observer.py", - "summary": "class ObservationEvent(BaseModel) (src/apprentice/observer.py:38)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-c0e74683670f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-17ba7228b91f", - "type": "class", - "name": "Step", - "filePath": "src/apprentice/journey_evaluator.py", - "summary": "class Step (src/apprentice/journey_evaluator.py:85)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-c977facfc7be", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-25b9ce015483", - "type": "class", - "name": "Story", - "filePath": "src/apprentice/journey_evaluator.py", - "summary": "class Story (src/apprentice/journey_evaluator.py:97)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-cf878b8f317c", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-87288dc308fd", - "type": "class", - "name": "Weights", - "filePath": "src/apprentice/journey_evaluator.py", - "summary": "class Weights (src/apprentice/journey_evaluator.py:32)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-cf878b8f317c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b3e29291aa9d", - "type": "class", - "name": "ValidationResult", - "filePath": "src/apprentice/model_validator.py", - "summary": "class ValidationResult(BaseModel) (src/apprentice/model_validator.py:114)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d129ec7b3fe6", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9edc9921a451", - "type": "class", - "name": "EvaluatorConfig", - "filePath": "src/apprentice/journey_evaluator.py", - "summary": "class EvaluatorConfig (src/apprentice/journey_evaluator.py:42) ## Methods - __post_init__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d129ec7b3fe6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8b197ad2790b", - "type": "class", - "name": "JourneyEvaluator", - "filePath": "src/apprentice/journey_evaluator.py", - "summary": "class JourneyEvaluator (src/apprentice/journey_evaluator.py:121) ## Methods - evaluate(self, story: Story) -> UnitScore", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d1f56cbb4596", + "target": "code-mod-apprentice-90f3611e37ae", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d5773f8ae5dc", - "type": "class", - "name": "JourneyScore", - "filePath": "src/apprentice/journey_evaluator.py", - "summary": "class JourneyScore (src/apprentice/journey_evaluator.py:105)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d1f56cbb4596", + "target": "code-mod-apprentice-a3d269d5aae8", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-725e8ea3677d", - "type": "class", - "name": "TestSet", - "filePath": "src/apprentice/model_validator.py", - "summary": "class TestSet(BaseModel) (src/apprentice/model_validator.py:102)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d1f56cbb4596", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-fe1f80238d8e", - "type": "class", - "name": "TestSetReference", - "filePath": "src/apprentice/model_validator.py", - "summary": "class TestSetReference(BaseModel) (src/apprentice/model_validator.py:85)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d9632c802373", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-17fb3330f13d", - "type": "class", - "name": "ThresholdComparison", - "filePath": "src/apprentice/model_validator.py", - "summary": "class ThresholdComparison(str, Enum) (src/apprentice/model_validator.py:30)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d9632c802373", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b2c94b0e8294", - "type": "class", - "name": "ValidationConfig", - "filePath": "src/apprentice/model_validator.py", - "summary": "class ValidationConfig(BaseModel) (src/apprentice/model_validator.py:55) ## Methods - validate_min_test_samples(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-d9632c802373", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-fab197e06f5f", - "type": "class", - "name": "PerMetricThreshold", - "filePath": "src/apprentice/model_validator.py", - "summary": "class PerMetricThreshold(BaseModel) (src/apprentice/model_validator.py:41) ## Methods - validate_min_score(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-db3d0c1a6fce", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b39a87004f47", - "type": "class", - "name": "PromotionDecision", - "filePath": "src/apprentice/model_validator.py", - "summary": "class PromotionDecision(str, Enum) (src/apprentice/model_validator.py:21)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-db3d0c1a6fce", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a8203f5dbf19", - "type": "class", - "name": "PromotionRecord", - "filePath": "src/apprentice/model_validator.py", - "summary": "class PromotionRecord(BaseModel) (src/apprentice/model_validator.py:131)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-db3d0c1a6fce", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e88b6535591a", - "type": "class", - "name": "SwapResult", - "filePath": "src/apprentice/model_validator.py", - "summary": "class SwapResult(BaseModel) (src/apprentice/model_validator.py:150)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-db3d0c1a6fce", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3bac50e4ae72", - "type": "class", - "name": "TestSample", - "filePath": "src/apprentice/model_validator.py", - "summary": "class TestSample(BaseModel) (src/apprentice/model_validator.py:94)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-dd5d89009dab", + "target": "code-mod-apprentice-49890ffd0587", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8ffbb99f9d53", - "type": "class", - "name": "EvaluationScore", - "filePath": "src/apprentice/model_validator.py", - "summary": "class EvaluationScore(BaseModel) (src/apprentice/model_validator.py:108)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-dd5d89009dab", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ca1c1c6e3e90", - "type": "class", - "name": "ModelServerStatus", - "filePath": "src/apprentice/model_validator.py", - "summary": "class ModelServerStatus(BaseModel) (src/apprentice/model_validator.py:143)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-e250f0d85893", + "target": "code-mod-apprentice-91d05597a213", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-64d483b85e3a", - "type": "class", - "name": "ModelValidator", - "filePath": "src/apprentice/model_validator.py", - "summary": "class ModelValidator (src/apprentice/model_validator.py:163) ## Methods - get_validation_history( self, candidate_model_id: Optional[str] = None, limit: int = 50, ) -> List[PromotionRecord]", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-e250f0d85893", + "target": "code-mod-apprentice-c0e74683670f", + "type": "depends_on", + "weight": 0.5 }, { - "id": "code-sym-apprentice-93ecd5210ccc", - "type": "class", - "name": "EntityMetrics", - "filePath": "src/apprentice/pii_evaluation.py", - "summary": "class EntityMetrics(BaseModel) (src/apprentice/pii_evaluation.py:18)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-e250f0d85893", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-728f72d01213", - "type": "class", - "name": "PIIDetectionEvaluator", - "filePath": "src/apprentice/pii_evaluation.py", - "summary": "class PIIDetectionEvaluator (src/apprentice/pii_evaluation.py:73) ## Methods - evaluate( self, predictions: list[PIIDetection], ground_truth: list[PIIDetection], ) -> PIIEvaluationResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-e8d0a78f189b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-79112d4c05c1", - "type": "class", - "name": "PIIEvaluationResult", - "filePath": "src/apprentice/pii_evaluation.py", - "summary": "class PIIEvaluationResult(BaseModel) (src/apprentice/pii_evaluation.py:31)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-ec2a8da1caa1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-029aea655dc7", - "type": "class", - "name": "RecommendResult", - "filePath": "src/apprentice/wos_models.py", - "summary": "class RecommendResult(BaseModel) (src/apprentice/wos_models.py:125)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-ef80e4db7287", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-41de3b187a11", - "type": "class", - "name": "SkillInfo", - "filePath": "src/apprentice/wos_models.py", - "summary": "class SkillInfo(BaseModel) (src/apprentice/wos_models.py:146)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-f56c09bf9856", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-0f592853d09e", - "type": "class", - "name": "WOSEvent", - "filePath": "src/apprentice/wos_models.py", - "summary": "class WOSEvent(BaseModel) (src/apprentice/wos_models.py:87)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-mod-apprentice-ffd91da06870", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3c1a44c9510b", - "type": "class", - "name": "WOSEventType", - "filePath": "src/apprentice/wos_models.py", - "summary": "class WOSEventType(str, Enum) (src/apprentice/wos_models.py:16)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0052752c7470", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-4e0b8ee0ac6f", - "type": "class", - "name": "FeedbackRecord", - "filePath": "src/apprentice/wos_models.py", - "summary": "class FeedbackRecord(BaseModel) (src/apprentice/wos_models.py:101)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0052752c7470", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ebddf85b55c4", - "type": "class", - "name": "FeedbackResponse", - "filePath": "src/apprentice/wos_models.py", - "summary": "class FeedbackResponse(BaseModel) (src/apprentice/wos_models.py:140)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-00955f35f232", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-3a7787fcfec1", - "type": "class", - "name": "FeedbackType", - "filePath": "src/apprentice/wos_models.py", - "summary": "class FeedbackType(str, Enum) (src/apprentice/wos_models.py:29)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-00955f35f232", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1bb6e75c2c8f", - "type": "class", - "name": "RecommendRequest", - "filePath": "src/apprentice/wos_models.py", - "summary": "class RecommendRequest(BaseModel) (src/apprentice/wos_models.py:112)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-017716b1bd09", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-9ab08d72e5ef", - "type": "class", - "name": "PluginRegistrySet", - "filePath": "src/apprentice/plugin_registry.py", - "summary": "class PluginRegistrySet (src/apprentice/plugin_registry.py:146) ## Methods - get_registry(self, domain: str) -> PluginRegistry", - "tags": [ - "code", - "python" - ], - "complexity": 5, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-017716b1bd09", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a8a9a15dce84", - "type": "class", - "name": "UnknownPluginError", - "filePath": "src/apprentice/plugin_registry.py", - "summary": "class UnknownPluginError(PluginError) (src/apprentice/plugin_registry.py:33)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-01820b96b54c", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-52f9571b95d5", - "type": "class", - "name": "EventResponse", - "filePath": "src/apprentice/wos_models.py", - "summary": "class EventResponse(BaseModel) (src/apprentice/wos_models.py:135)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-01820b96b54c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-50668ace6850", - "type": "class", - "name": "DuplicatePluginError", - "filePath": "src/apprentice/plugin_registry.py", - "summary": "class DuplicatePluginError(PluginError) (src/apprentice/plugin_registry.py:24)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-029aea655dc7", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-53d498396397", - "type": "class", - "name": "PluginConfigError", - "filePath": "src/apprentice/plugin_registry.py", - "summary": "class PluginConfigError(PluginError) (src/apprentice/plugin_registry.py:46)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-029aea655dc7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-f8c886701c47", - "type": "class", - "name": "PluginError", - "filePath": "src/apprentice/plugin_registry.py", - "summary": "class PluginError(Exception) (src/apprentice/plugin_registry.py:20)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-02b8cda2b167", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-caa6afa0bc0f", - "type": "class", - "name": "PluginRegistry", - "filePath": "src/apprentice/plugin_registry.py", - "summary": "class PluginRegistry (src/apprentice/plugin_registry.py:81) ## Methods - __contains__(self, name: str) -> bool", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-02b8cda2b167", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-31238733194f", - "type": "class", - "name": "PactFormatter", - "filePath": "src/apprentice/evaluators.py", - "summary": "class PactFormatter(logging.Formatter) (src/apprentice/evaluators.py:20) ## Methods - format(self, record)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-02ffd4562192", + "target": "code-mod-apprentice-ffd91da06870", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-e96a8e6cd9c9", - "type": "class", - "name": "SemanticSimilarityEvaluator", - "filePath": "src/apprentice/evaluators.py", - "summary": "class SemanticSimilarityEvaluator (src/apprentice/evaluators.py:343) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-02ffd4562192", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e55359ca8e87", - "type": "class", - "name": "StructuredMatchEvaluator", - "filePath": "src/apprentice/evaluators.py", - "summary": "class StructuredMatchEvaluator (src/apprentice/evaluators.py:248) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-03d1c2bf4c9a", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-fb1ebaf433bc", - "type": "class", - "name": "TaskEvaluatorConfig", - "filePath": "src/apprentice/evaluators.py", - "summary": "class TaskEvaluatorConfig(BaseModel) (src/apprentice/evaluators.py:58) ## Methods - validate_custom_evaluator(cls, v, info)", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-03d1c2bf4c9a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4ae2d5ceee67", - "type": "class", - "name": "TaskResponse", - "filePath": "src/apprentice/evaluators.py", - "summary": "class TaskResponse(BaseModel) (src/apprentice/evaluators.py:47)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-054f45358d09", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5dff024d186c", - "type": "class", - "name": "FieldEvaluation", - "filePath": "src/apprentice/evaluators.py", - "summary": "class FieldEvaluation(BaseModel) (src/apprentice/evaluators.py:93)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-054f45358d09", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8c4965f3382d", - "type": "class", - "name": "FunctionEvaluatorAdapter", - "filePath": "src/apprentice/evaluators.py", - "summary": "class FunctionEvaluatorAdapter (src/apprentice/evaluators.py:581) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-06a5682b61b8", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-a34d2d0e39ed", - "type": "class", - "name": "LLMJudgeEvaluator", - "filePath": "src/apprentice/evaluators.py", - "summary": "class LLMJudgeEvaluator (src/apprentice/evaluators.py:482) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-06a5682b61b8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9c3a893bfd00", - "type": "class", - "name": "EvaluationResult", - "filePath": "src/apprentice/evaluators.py", - "summary": "class EvaluationResult(BaseModel) (src/apprentice/evaluators.py:104) ## Methods - clamp_score_validator(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-07e2b98f82e5", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-e9a0987115ed", - "type": "class", - "name": "EvaluatorProtocol", - "filePath": "src/apprentice/evaluators.py", - "summary": "class EvaluatorProtocol(Protocol) (src/apprentice/evaluators.py:129) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-07e2b98f82e5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3228a47ce933", - "type": "class", - "name": "EvaluatorType", - "filePath": "src/apprentice/evaluators.py", - "summary": "class EvaluatorType(Enum) (src/apprentice/evaluators.py:38)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0990e83f6fa3", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-78b8c8a02fc8", - "type": "class", - "name": "ExactMatchEvaluator", - "filePath": "src/apprentice/evaluators.py", - "summary": "class ExactMatchEvaluator (src/apprentice/evaluators.py:205) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0990e83f6fa3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4bd096f2f039", - "type": "class", - "name": "ConfigValidationError", - "filePath": "src/apprentice/report_generator/exceptions.py", - "summary": "class ConfigValidationError(Exception) (src/apprentice/report_generator/exceptions.py:6)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-09abc8002a4e", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7ec1c4233e12", - "type": "class", - "name": "DataSourceError", - "filePath": "src/apprentice/report_generator/exceptions.py", - "summary": "class DataSourceError(Exception) (src/apprentice/report_generator/exceptions.py:11)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-09abc8002a4e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d9c6360da895", - "type": "class", - "name": "EmptyReportError", - "filePath": "src/apprentice/report_generator/exceptions.py", - "summary": "class EmptyReportError(Exception) (src/apprentice/report_generator/exceptions.py:16)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0a2b0b09c17b", + "target": "code-mod-apprentice-7906e1efa075", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-bfad146df017", - "type": "class", - "name": "FormattingError", - "filePath": "src/apprentice/report_generator/exceptions.py", - "summary": "class FormattingError(Exception) (src/apprentice/report_generator/exceptions.py:21)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0a2b0b09c17b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ca61d298adf3", - "type": "class", - "name": "TaskNotFoundError", - "filePath": "src/apprentice/task_registry.py", - "summary": "class TaskNotFoundError(Exception) (src/apprentice/task_registry.py:251)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0a5a43caafb7", + "target": "code-mod-apprentice-7906e1efa075", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-839d71ca4653", - "type": "class", - "name": "TaskRegistry", - "filePath": "src/apprentice/task_registry.py", - "summary": "class TaskRegistry(BaseModel) (src/apprentice/task_registry.py:296) ## Methods - __contains__(self, name: str) -> bool", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0a5a43caafb7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-39bf8ac3f2c5", - "type": "class", - "name": "TaskRegistryProtocol", - "filePath": "src/apprentice/task_registry.py", - "summary": "class TaskRegistryProtocol(Protocol) (src/apprentice/task_registry.py:268) ## Methods - __contains__(self, name: str) -> bool", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0b2afe61b3c6", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-db7bbded7d74", - "type": "class", - "name": "ConfidenceThresholds", - "filePath": "src/apprentice/task_registry.py", - "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/task_registry.py:56) ## Methods - validate_threshold_ordering(self) -> 'ConfidenceThresholds'", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } - }, - { - "id": "code-sym-apprentice-fec79c74b17b", - "type": "class", - "name": "EvaluatorType", - "filePath": "src/apprentice/task_registry.py", - "summary": "class EvaluatorType(str, Enum) (src/apprentice/task_registry.py:37)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0b2afe61b3c6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d2c833993228", - "type": "class", - "name": "PactFormatter", - "filePath": "src/apprentice/task_registry.py", - "summary": "class PactFormatter(logging.Formatter) (src/apprentice/task_registry.py:21) ## Methods - format(self, record)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0b7adcddcfd0", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-a8eae2ebdcb9", - "type": "class", - "name": "TaskConfig", - "filePath": "src/apprentice/task_registry.py", - "summary": "class TaskConfig(BaseModel) (src/apprentice/task_registry.py:118) ## Methods - validate_match_fields_against_output_schema(self) -> 'TaskConfig'", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0b7adcddcfd0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a8d2e0b1841b", - "type": "class", - "name": "NERDetectionStrategy", - "filePath": "src/apprentice/pii_detection.py", - "summary": "class NERDetectionStrategy (src/apprentice/pii_detection.py:260) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0c7d6dff15ca", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-ab67aa43f52e", - "type": "class", - "name": "PIIDetection", - "filePath": "src/apprentice/pii_detection.py", - "summary": "class PIIDetection(BaseModel) (src/apprentice/pii_detection.py:32)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0c7d6dff15ca", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b7b853da0cd6", - "type": "class", - "name": "RegexDetectionStrategy", - "filePath": "src/apprentice/pii_detection.py", - "summary": "class RegexDetectionStrategy (src/apprentice/pii_detection.py:87) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0ccd87e116b8", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8782ce1b0e09", - "type": "class", - "name": "CompositeDetectionPipeline", - "filePath": "src/apprentice/pii_detection.py", - "summary": "class CompositeDetectionPipeline (src/apprentice/pii_detection.py:373) ## Methods - add_strategy(self, strategy: Any) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0ccd87e116b8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ebb56c805e06", - "type": "class", - "name": "DetectionStrategy", - "filePath": "src/apprentice/pii_detection.py", - "summary": "class DetectionStrategy(Protocol) (src/apprentice/pii_detection.py:59) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0ce3b2ff65f0", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-e600dc2dafbb", - "type": "class", - "name": "FieldHeuristicStrategy", - "filePath": "src/apprentice/pii_detection.py", - "summary": "class FieldHeuristicStrategy (src/apprentice/pii_detection.py:148) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0ce3b2ff65f0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2bffa89e7961", - "type": "class", - "name": "ValidationError", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class ValidationError(Exception) (src/apprentice/rolling_window.py:99)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0f592853d09e", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-12da83323923", - "type": "class", - "name": "WindowAggregate", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class WindowAggregate(BaseModel) (src/apprentice/rolling_window.py:71)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0f592853d09e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-f387336f9785", - "type": "class", - "name": "WindowConfig", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class WindowConfig(BaseModel) (src/apprentice/rolling_window.py:83)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0f8fce43fc85", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-9feda4a0872c", - "type": "class", - "name": "WindowStore", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class WindowStore(Protocol) (src/apprentice/rolling_window.py:114) ## Methods - load(self, task_type: str) -> ComparisonPairList", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0f8fce43fc85", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-fb13d3e6da7c", - "type": "class", - "name": "PactFormatter", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class PactFormatter(logging.Formatter) (src/apprentice/rolling_window.py:21) ## Methods - format(self, record)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0ff066a3771e", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5a8caff7c6b8", - "type": "class", - "name": "PersistenceError", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class PersistenceError(Exception) (src/apprentice/rolling_window.py:104)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-0ff066a3771e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-f70272e3ccae", - "type": "class", - "name": "StoreConfig", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class StoreConfig(BaseModel) (src/apprentice/rolling_window.py:89)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1037e30b4324", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-d533f8ea7f35", - "type": "class", - "name": "TrendDirection", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class TrendDirection(Enum) (src/apprentice/rolling_window.py:39)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1037e30b4324", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-6e18c5fe3d67", - "type": "class", - "name": "ComparisonPair", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class ComparisonPair(BaseModel) (src/apprentice/rolling_window.py:47)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-109ed9bbd35d", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-49b6368a2950", - "type": "class", - "name": "ComparisonPairInput", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class ComparisonPairInput(BaseModel) (src/apprentice/rolling_window.py:58)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-109ed9bbd35d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-7d32d338e6eb", - "type": "class", - "name": "DequeRollingWindow", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class DequeRollingWindow (src/apprentice/rolling_window.py:129) ## Methods - __len__(self) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1146d58607f4", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-3e22697d494a", - "type": "class", - "name": "JsonFileWindowStore", - "filePath": "src/apprentice/rolling_window.py", - "summary": "class JsonFileWindowStore (src/apprentice/rolling_window.py:358) ## Methods - load(self, task_type: str) -> ComparisonPairList", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1146d58607f4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e2f1aaecdc7a", - "type": "class", - "name": "ConfidenceSnapshotEnriched", - "filePath": "src/apprentice/confidence_engine.py", - "summary": "class ConfidenceSnapshotEnriched(BaseModel) (src/apprentice/confidence_engine.py:96)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-116fae85271c", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-592fd9973445", - "type": "class", - "name": "ConfidenceSnapshotEnrichedMap", - "filePath": "src/apprentice/confidence_engine.py", - "summary": "class ConfidenceSnapshotEnrichedMap(BaseModel) (src/apprentice/confidence_engine.py:113)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-116fae85271c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1bbf74ee8835", - "type": "class", - "name": "DriftShiftStatus", - "filePath": "src/apprentice/confidence_engine.py", - "summary": "class DriftShiftStatus(BaseModel) (src/apprentice/confidence_engine.py:87)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-118093fca7d0", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-875af9ecac9f", - "type": "class", - "name": "EvaluationOutcome", - "filePath": "src/apprentice/confidence_engine.py", - "summary": "class EvaluationOutcome(BaseModel) (src/apprentice/confidence_engine.py:75)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-118093fca7d0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1fe81f0471af", - "type": "class", - "name": "SavingsTracker", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class SavingsTracker(BaseModel) (src/apprentice/budget_manager.py:154)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-12bb73991f48", + "target": "code-mod-apprentice-0e7125609223", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-c7320e4121ee", - "type": "class", - "name": "SpendMetadata", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class SpendMetadata(BaseModel) (src/apprentice/budget_manager.py:215) ## Methods - validate_request_id(cls, v: str) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-12bb73991f48", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-548e78fbb0f3", - "type": "class", - "name": "ConfidenceEngine", - "filePath": "src/apprentice/confidence_engine.py", - "summary": "class ConfidenceEngine (src/apprentice/confidence_engine.py:122) ## Methods - get_all_snapshots( self, example_counts: dict[str, int], local_model_availability: dict[str, bool], ) -> ConfidenceSnapshotEnrichedMap", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-12da83323923", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-40f21272e4f8", - "type": "class", - "name": "ConfidenceEngineConfig", - "filePath": "src/apprentice/confidence_engine.py", - "summary": "class ConfidenceEngineConfig(BaseModel) (src/apprentice/confidence_engine.py:62)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-12da83323923", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-c890afedab4c", - "type": "class", - "name": "PactFormatter", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class PactFormatter(logging.Formatter) (src/apprentice/budget_manager.py:35) ## Methods - format(self, record)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-12dac1a0e790", + "target": "code-mod-apprentice-ffd91da06870", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-6693abf88ba3", - "type": "class", - "name": "PeriodLimit", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class PeriodLimit(BaseModel) (src/apprentice/budget_manager.py:77) ## Methods - validate_limit_positive(cls, v: Decimal) -> Decimal", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-12dac1a0e790", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-61c44acb7e99", - "type": "class", - "name": "PeriodSpend", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class PeriodSpend(BaseModel) (src/apprentice/budget_manager.py:139)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-137554362c9f", + "target": "code-mod-apprentice-e8d0a78f189b", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-644b846ee404", - "type": "class", - "name": "PeriodSummary", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class PeriodSummary(BaseModel) (src/apprentice/budget_manager.py:165)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-137554362c9f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3754794d8a6a", - "type": "class", - "name": "PeriodType", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class PeriodType(Enum) (src/apprentice/budget_manager.py:53)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1399284bfac1", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-522cf079a72b", - "type": "class", - "name": "BudgetState", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetState(BaseModel) (src/apprentice/budget_manager.py:183) ## Methods - validate_schema_version(cls, v: int) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1399284bfac1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-7ecc71f31ff3", - "type": "class", - "name": "BudgetStateCorruptedError", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetStateCorruptedError(BudgetError) (src/apprentice/budget_manager.py:302)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-13d3cef376c6", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-9ddf26c9c2ec", - "type": "class", - "name": "CostTrajectoryPoint", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class CostTrajectoryPoint(BaseModel) (src/apprentice/budget_manager.py:242)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-13d3cef376c6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-403f24c961e2", - "type": "class", - "name": "DenialReason", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class DenialReason(Enum) (src/apprentice/budget_manager.py:61)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1685f5d08e13", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-1791ab5c6629", - "type": "class", - "name": "BudgetConfig", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetConfig(BaseModel) (src/apprentice/budget_manager.py:96) ## Methods - validate_cost_non_negative(cls, v: Decimal) -> Decimal", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1685f5d08e13", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1e08368cbe7a", - "type": "class", - "name": "BudgetError", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetError(Exception) (src/apprentice/budget_manager.py:280)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1738fd71da32", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5a90f557eac7", - "type": "class", - "name": "BudgetExhaustedError", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetExhaustedError(BudgetError) (src/apprentice/budget_manager.py:289)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1738fd71da32", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3287f35dc25d", - "type": "class", - "name": "BudgetManager", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetManager (src/apprentice/budget_manager.py:322) ## Methods - authorize(self, estimated_cost: Decimal) -> BudgetAuthorizationResult", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-176db411e310", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-bdf6b2dba77a", - "type": "class", - "name": "BudgetReport", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetReport(BaseModel) (src/apprentice/budget_manager.py:259)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-176db411e310", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-6bc30670b9f2", - "type": "class", - "name": "UnavailableReason", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class UnavailableReason(str, Enum) (src/apprentice/local_model_server.py:23)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1791ab5c6629", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-fa42470c44a1", - "type": "class", - "name": "VLLMClient", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class VLLMClient (src/apprentice/local_model_server.py:499) ## Methods - get_active_model(self) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1791ab5c6629", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8ff35e1c27d0", - "type": "class", - "name": "VLLMClientConfig", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class VLLMClientConfig(BaseClientConfig) (src/apprentice/local_model_server.py:142)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-17ba7228b91f", + "target": "code-mod-apprentice-c977facfc7be", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-62ffddb9ac91", - "type": "class", - "name": "BudgetAuthorizationResult", - "filePath": "src/apprentice/budget_manager.py", - "summary": "class BudgetAuthorizationResult(BaseModel) (src/apprentice/budget_manager.py:202)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-17ba7228b91f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-c632239515b1", - "type": "class", - "name": "OllamaClient", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class OllamaClient (src/apprentice/local_model_server.py:159) ## Methods - __aenter__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-17fb3330f13d", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-475f20b819b7", - "type": "class", - "name": "OllamaClientConfig", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class OllamaClientConfig(BaseClientConfig) (src/apprentice/local_model_server.py:135)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-17fb3330f13d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-511dc840eddb", - "type": "class", - "name": "PromotionResult", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class PromotionResult(BaseModel) (src/apprentice/local_model_server.py:111)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-18e54562cb38", + "target": "code-mod-apprentice-47cb5b732738", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-e2daa50de8fa", - "type": "class", - "name": "PromotionStatus", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class PromotionStatus(str, Enum) (src/apprentice/local_model_server.py:32)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-18e54562cb38", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-47e640b1e2dc", - "type": "class", - "name": "InferenceSuccess", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class InferenceSuccess(BaseModel) (src/apprentice/local_model_server.py:62) ## Methods - validate_result_type(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-192ed3d8bd55", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7444f5e506e8", - "type": "class", - "name": "LlamaCppClient", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class LlamaCppClient (src/apprentice/local_model_server.py:605) ## Methods - get_active_model(self) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-192ed3d8bd55", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-f20bb1e90ccb", - "type": "class", - "name": "LlamaCppClientConfig", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class LlamaCppClientConfig(BaseClientConfig) (src/apprentice/local_model_server.py:149)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1a2fafff20a3", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-710af128df4c", - "type": "class", - "name": "LocalBackendType", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class LocalBackendType(str, Enum) (src/apprentice/local_model_server.py:42)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1a2fafff20a3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3a21c5da5d82", - "type": "class", - "name": "LocalModelUnavailable", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class LocalModelUnavailable(BaseModel) (src/apprentice/local_model_server.py:81) ## Methods - validate_result_type(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1a7b73d603ee", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-00955f35f232", - "type": "class", - "name": "BaseClientConfig", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class BaseClientConfig(BaseModel) (src/apprentice/local_model_server.py:126)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1a7b73d603ee", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8ed426b2d6e0", - "type": "class", - "name": "HealthStatus", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class HealthStatus(BaseModel) (src/apprentice/local_model_server.py:101)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1b5c3962a21b", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f88bc6a42b6c", - "type": "class", - "name": "InferenceRequest", - "filePath": "src/apprentice/local_model_server.py", - "summary": "class InferenceRequest(BaseModel) (src/apprentice/local_model_server.py:52)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1b5c3962a21b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-928023b0c9de", - "type": "class", - "name": "TrainArtifact", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class TrainArtifact(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:253)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bb6e75c2c8f", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-2dfa6cdd354f", - "type": "class", - "name": "TrainingExample", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class TrainingExample(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:55) ## Methods - validate_iso8601(cls, v: str) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bb6e75c2c8f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a038a04b6626", - "type": "class", - "name": "TrainingMetrics", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class TrainingMetrics(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:96)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bb7790bf47f", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-82a273309016", - "type": "class", - "name": "UnslothBackendConfig", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class UnslothBackendConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:172)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bb7790bf47f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-c6d9928165b7", - "type": "class", - "name": "ModelVersionStore", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class ModelVersionStore (src/apprentice/fine_tuning_orchestrator.py:359) ## Methods - get_latest_model_version(self) -> Optional[ModelVersion]", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bbf74ee8835", + "target": "code-mod-apprentice-a900b12b40af", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-30f691eb5f9e", - "type": "class", - "name": "OllamaRegistration", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class OllamaRegistration(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:269)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bbf74ee8835", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-6f291420055a", - "type": "class", - "name": "OpenAIBackendConfig", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class OpenAIBackendConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:188)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bc977dc54c4", + "target": "code-mod-apprentice-b5da1f71cb29", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-6dedc69e8195", - "type": "class", - "name": "OrchestratorConfig", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class OrchestratorConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:231)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1bc977dc54c4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2f904b46c6d2", - "type": "class", - "name": "QuantizationType", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class QuantizationType(str, Enum) (src/apprentice/fine_tuning_orchestrator.py:38)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1e08368cbe7a", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-0c7d6dff15ca", - "type": "class", - "name": "KubernetesLoRAOrchestratorConfig", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class KubernetesLoRAOrchestratorConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:214)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1e08368cbe7a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9ebe06fb2e38", - "type": "class", - "name": "LocalNoOpBackend", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class LocalNoOpBackend(FineTuneBackend) (src/apprentice/fine_tuning_orchestrator.py:303) ## Methods - fine_tune(self, request: FineTuneRequest) -> FineTuneResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1eba5b2c0c22", + "target": "code-mod-apprentice-a3d269d5aae8", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-99adebe04b73", - "type": "class", - "name": "LocalNoOpOrchestratorConfig", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class LocalNoOpOrchestratorConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:223)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1eba5b2c0c22", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-5a90ec2f6722", - "type": "class", - "name": "ModelVersion", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class ModelVersion(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:124) ## Methods - validate_count_matches_ids(self) -> 'ModelVersion'", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1f1c402b864e", + "target": "code-mod-apprentice-47cb5b732738", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-89e94aedfa10", - "type": "class", - "name": "FineTuneRequest", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class FineTuneRequest(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:86)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1f1c402b864e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-eaebc816d5c0", - "type": "class", - "name": "FineTuningOrchestrator", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class FineTuningOrchestrator (src/apprentice/fine_tuning_orchestrator.py:484) ## Methods - trigger_fine_tuning( self, training_examples: List[TrainingExample], base_model: str, hyperparameter_overrides: Optional[HyperparameterOverrides] = None ) -> FineTuneResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1f280475e2a1", + "target": "code-mod-apprentice-4174c65f149a", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8a7a4d0675a8", - "type": "class", - "name": "GGUFArtifact", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class GGUFArtifact(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:261)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1f280475e2a1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d5de0a2a72f0", - "type": "class", - "name": "HuggingFaceBackendConfig", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class HuggingFaceBackendConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:199)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1f5afd7b10f5", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-90e5dfd17392", - "type": "class", - "name": "HyperparameterOverrides", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class HyperparameterOverrides(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:74)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1f5afd7b10f5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-21aaadb6b4e1", - "type": "class", - "name": "CommandRunner", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class CommandRunner(ABC) (src/apprentice/fine_tuning_orchestrator.py:289) ## Methods - run_command( self, args: List[str], cwd: Optional[str] = None, timeout_seconds: int = 3600 ) -> CommandResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1fe81f0471af", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-a9bca4d3aaf8", - "type": "class", - "name": "FineTuneBackend", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class FineTuneBackend(ABC) (src/apprentice/fine_tuning_orchestrator.py:280) ## Methods - fine_tune(self, request: FineTuneRequest) -> FineTuneResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-1fe81f0471af", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-5a821ca27360", - "type": "class", - "name": "FineTuneError", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class FineTuneError(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:105) ## Methods - validate_iso8601(cls, v: str) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-205de453a6ab", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-ad3fbc2a8140", - "type": "class", - "name": "FineTuneErrorCategory", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class FineTuneErrorCategory(str, Enum) (src/apprentice/fine_tuning_orchestrator.py:23)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-205de453a6ab", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-054f45358d09", - "type": "class", - "name": "TrainingExampleType", - "filePath": "src/apprentice/router.py", - "summary": "class TrainingExampleType(str, Enum) (src/apprentice/router.py:45)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-21013ff39348", + "target": "code-mod-apprentice-e8d0a78f189b", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-ec63e5bb5f90", - "type": "class", - "name": "ValidationError", - "filePath": "src/apprentice/router.py", - "summary": "class ValidationError(Exception) (src/apprentice/router.py:177)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-21013ff39348", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e0b8f40d7893", - "type": "class", - "name": "BackendType", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class BackendType(str, Enum) (src/apprentice/fine_tuning_orchestrator.py:31)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-216210e00d9d", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-b422a8210014", - "type": "class", - "name": "CommandResult", - "filePath": "src/apprentice/fine_tuning_orchestrator.py", - "summary": "class CommandResult(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:244)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-216210e00d9d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-85bf5cf3d577", - "type": "class", - "name": "SamplingScheduler", - "filePath": "src/apprentice/router.py", - "summary": "class SamplingScheduler(Protocol) (src/apprentice/router.py:197) ## Methods - should_coach(self) -> bool", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-21aaadb6b4e1", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-87095b604092", - "type": "class", - "name": "TaskRequest", - "filePath": "src/apprentice/router.py", - "summary": "class TaskRequest(BaseModel) (src/apprentice/router.py:55)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-21aaadb6b4e1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-adbf3c348485", - "type": "class", - "name": "TrainingDataCollector", - "filePath": "src/apprentice/router.py", - "summary": "class TrainingDataCollector(Protocol) (src/apprentice/router.py:212) ## Methods - collect(self, example: TrainingExample) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2250fa629391", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-a1c22781f5c1", - "type": "class", - "name": "TrainingExample", - "filePath": "src/apprentice/router.py", - "summary": "class TrainingExample(BaseModel) (src/apprentice/router.py:146)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2250fa629391", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-252dbbaa4788", - "type": "class", - "name": "RoutingAction", - "filePath": "src/apprentice/router.py", - "summary": "class RoutingAction(str, Enum) (src/apprentice/router.py:28)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-238079747864", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-dcbb1698157d", - "type": "class", - "name": "RoutingAuditEntry", - "filePath": "src/apprentice/router.py", - "summary": "class RoutingAuditEntry(BaseModel) (src/apprentice/router.py:115)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-238079747864", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2d4b84405910", - "type": "class", - "name": "RoutingDecision", - "filePath": "src/apprentice/router.py", - "summary": "class RoutingDecision(BaseModel) (src/apprentice/router.py:90)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2388cd096cd3", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-be67fca5c732", - "type": "class", - "name": "RoutingError", - "filePath": "src/apprentice/router.py", - "summary": "class RoutingError(Exception) (src/apprentice/router.py:172)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2388cd096cd3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1399284bfac1", - "type": "class", - "name": "RoutingResult", - "filePath": "src/apprentice/router.py", - "summary": "class RoutingResult(BaseModel) (src/apprentice/router.py:98)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-252dbbaa4788", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8bf6e17d9c23", - "type": "class", - "name": "PhaseContext", - "filePath": "src/apprentice/router.py", - "summary": "class PhaseContext(BaseModel) (src/apprentice/router.py:84)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-252dbbaa4788", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-41bd38128171", - "type": "class", - "name": "RemoteModelBackend", - "filePath": "src/apprentice/router.py", - "summary": "class RemoteModelBackend(Protocol) (src/apprentice/router.py:207) ## Methods - call(self, request: TaskRequest) -> ModelResponse", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25867fd21bea", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-2dffb4b84955", - "type": "class", - "name": "RequestRouter", - "filePath": "src/apprentice/router.py", - "summary": "class RequestRouter (src/apprentice/router.py:309) ## Methods - execute_dual_send(self, request: TaskRequest) -> DualSendResult", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25867fd21bea", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4ba2c0bdf563", - "type": "class", - "name": "RouterConfig", - "filePath": "src/apprentice/router.py", - "summary": "class RouterConfig(BaseModel) (src/apprentice/router.py:159)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25b9ce015483", + "target": "code-mod-apprentice-c977facfc7be", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8031f32be9e2", - "type": "class", - "name": "DualSendOutcome", - "filePath": "src/apprentice/router.py", - "summary": "class DualSendOutcome(str, Enum) (src/apprentice/router.py:37)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25b9ce015483", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-94d0ca18d31c", - "type": "class", - "name": "DualSendResult", - "filePath": "src/apprentice/router.py", - "summary": "class DualSendResult(BaseModel) (src/apprentice/router.py:135)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25d9d556203c", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-e59c0fd9f07c", - "type": "class", - "name": "LocalModelBackend", - "filePath": "src/apprentice/router.py", - "summary": "class LocalModelBackend(Protocol) (src/apprentice/router.py:202) ## Methods - call(self, request: TaskRequest) -> ModelResponse", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25d9d556203c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-c842611b6140", - "type": "class", - "name": "ModelResponse", - "filePath": "src/apprentice/router.py", - "summary": "class ModelResponse(BaseModel) (src/apprentice/router.py:64)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25fe10311538", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8ea685645235", - "type": "class", - "name": "Phase", - "filePath": "src/apprentice/router.py", - "summary": "class Phase(str, Enum) (src/apprentice/router.py:21)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-25fe10311538", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-62a4f5006de6", - "type": "class", - "name": "AuditLogger", - "filePath": "src/apprentice/router.py", - "summary": "class AuditLogger(Protocol) (src/apprentice/router.py:217) ## Methods - log(self, entry: RoutingAuditEntry) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-281f697001fc", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-d30d23b34252", - "type": "class", - "name": "BudgetManager", - "filePath": "src/apprentice/router.py", - "summary": "class BudgetManager(Protocol) (src/apprentice/router.py:186) ## Methods - check_budget(self) -> BudgetSnapshot", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-281f697001fc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1037e30b4324", - "type": "class", - "name": "BudgetSnapshot", - "filePath": "src/apprentice/router.py", - "summary": "class BudgetSnapshot(BaseModel) (src/apprentice/router.py:76)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-282fa07acc28", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-0b2afe61b3c6", - "type": "class", - "name": "ConfidenceEngine", - "filePath": "src/apprentice/router.py", - "summary": "class ConfidenceEngine(Protocol) (src/apprentice/router.py:192) ## Methods - get_phase_context(self, task_type: str) -> PhaseContext", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-282fa07acc28", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-6d1ee7b52a58", - "type": "class", - "name": "TaskRequest", - "filePath": "src/apprentice/data_models.py", - "summary": "class TaskRequest(BaseModel) (src/apprentice/data_models.py:89) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-28e317b3bef5", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7e1cb5d6a139", - "type": "class", - "name": "TaskResponse", - "filePath": "src/apprentice/data_models.py", - "summary": "class TaskResponse(BaseModel) (src/apprentice/data_models.py:114) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-28e317b3bef5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-118093fca7d0", - "type": "class", - "name": "TrainingExample", - "filePath": "src/apprentice/data_models.py", - "summary": "class TrainingExample(BaseModel) (src/apprentice/data_models.py:279) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-29169cd6501c", + "target": "code-mod-apprentice-7906e1efa075", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-73a222c32f29", - "type": "class", - "name": "ValidationErrorDetail", - "filePath": "src/apprentice/data_models.py", - "summary": "class ValidationErrorDetail(BaseModel) (src/apprentice/data_models.py:452)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-29169cd6501c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4e775377d379", - "type": "class", - "name": "RoutingDecision", - "filePath": "src/apprentice/data_models.py", - "summary": "class RoutingDecision(str, Enum) (src/apprentice/data_models.py:40)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-29d005e51098", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-fc480003b913", - "type": "class", - "name": "SamplingDecision", - "filePath": "src/apprentice/data_models.py", - "summary": "class SamplingDecision(BaseModel) (src/apprentice/data_models.py:250) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-29d005e51098", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-6147c6a85b96", - "type": "class", - "name": "SemanticSimilarityResult", - "filePath": "src/apprentice/data_models.py", - "summary": "class SemanticSimilarityResult(BaseModel) (src/apprentice/data_models.py:334)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2b56c0e1a8b1", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-b7d3c197f611", - "type": "class", - "name": "Story", - "filePath": "src/apprentice/data_models.py", - "summary": "class Story(BaseModel) (src/apprentice/data_models.py:970) ## Methods - validate_closed_at_utc(cls, v: Optional[datetime]) -> Optional[datetime]", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2b56c0e1a8b1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8a5d4de5295c", - "type": "class", - "name": "StoryStep", - "filePath": "src/apprentice/data_models.py", - "summary": "class StoryStep(BaseModel) (src/apprentice/data_models.py:948) ## Methods - validate_metadata_dict(cls, v: Any) -> dict", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2baf16d0ed1b", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-778f2a43df0c", - "type": "class", - "name": "FuzzyMatchResult", - "filePath": "src/apprentice/data_models.py", - "summary": "class FuzzyMatchResult(BaseModel) (src/apprentice/data_models.py:324)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2baf16d0ed1b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d78b9615213a", - "type": "class", - "name": "LlmJudgeResult", - "filePath": "src/apprentice/data_models.py", - "summary": "class LlmJudgeResult(BaseModel) (src/apprentice/data_models.py:345)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2bffa89e7961", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8d6189681c62", - "type": "class", - "name": "ModelVersion", - "filePath": "src/apprentice/data_models.py", - "summary": "class ModelVersion(BaseModel) (src/apprentice/data_models.py:416) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2bffa89e7961", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b4c4a061f3df", - "type": "class", - "name": "Phase", - "filePath": "src/apprentice/data_models.py", - "summary": "class Phase(str, Enum) (src/apprentice/data_models.py:33)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2d4b84405910", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-43a24fc5a7ce", - "type": "class", - "name": "ConfidenceSnapshot", - "filePath": "src/apprentice/data_models.py", - "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/data_models.py:182) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2d4b84405910", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-176db411e310", - "type": "class", - "name": "CustomEvalResult", - "filePath": "src/apprentice/data_models.py", - "summary": "class CustomEvalResult(BaseModel) (src/apprentice/data_models.py:358) ## Methods - validate_dict(cls, v: Any) -> dict", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2d6251043c69", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-decc9a19bad9", - "type": "class", - "name": "EvaluationResultType", - "filePath": "src/apprentice/data_models.py", - "summary": "class EvaluationResultType(str, Enum) (src/apprentice/data_models.py:65)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2d6251043c69", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-62b5bf21de9c", - "type": "class", - "name": "EvaluatorType", - "filePath": "src/apprentice/data_models.py", - "summary": "class EvaluatorType(str, Enum) (src/apprentice/data_models.py:48)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2da52d120ca7", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-01820b96b54c", - "type": "class", - "name": "ExactMatchResult", - "filePath": "src/apprentice/data_models.py", - "summary": "class ExactMatchResult(BaseModel) (src/apprentice/data_models.py:314)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2da52d120ca7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-f605871cbe7b", - "type": "class", - "name": "BudgetPeriod", - "filePath": "src/apprentice/data_models.py", - "summary": "class BudgetPeriod(BaseModel) (src/apprentice/data_models.py:145) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2dca87d1880a", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-611ffd19ff36", - "type": "class", - "name": "BudgetPeriodUnit", - "filePath": "src/apprentice/data_models.py", - "summary": "class BudgetPeriodUnit(str, Enum) (src/apprentice/data_models.py:57)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2dca87d1880a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-0ccd87e116b8", - "type": "class", - "name": "BudgetState", - "filePath": "src/apprentice/data_models.py", - "summary": "class BudgetState(BaseModel) (src/apprentice/data_models.py:161) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2dfa6cdd354f", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-3473fb60bdc0", - "type": "class", - "name": "ComparisonPair", - "filePath": "src/apprentice/data_models.py", - "summary": "class ComparisonPair(BaseModel) (src/apprentice/data_models.py:386) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2dfa6cdd354f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-c1eca63623fa", - "type": "class", - "name": "JsonLinesAuditLogger", - "filePath": "src/apprentice/audit_log_adapter.py", - "summary": "class JsonLinesAuditLogger (src/apprentice/audit_log_adapter.py:150) ## Methods - entries_by_task(self, task_name: str) -> list", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2dffb4b84955", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-c611719d605f", - "type": "class", - "name": "AuditEntry", - "filePath": "src/apprentice/data_models.py", - "summary": "class AuditEntry(BaseModel) (src/apprentice/data_models.py:210) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2dffb4b84955", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8b40c753a8fa", - "type": "class", - "name": "AuditConfig", - "filePath": "src/apprentice/audit_log_adapter.py", - "summary": "class AuditConfig (src/apprentice/audit_log_adapter.py:48) ## Methods - __setattr__(self, name, value)", - "tags": [ - "code", - "python" - ], - "complexity": 5, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2edae8522463", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-66cbfc07aba2", - "type": "class", - "name": "AuditEntry", - "filePath": "src/apprentice/audit_log_adapter.py", - "summary": "class AuditEntry (src/apprentice/audit_log_adapter.py:95) ## Methods - __setattr__(self, name, value)", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2edae8522463", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1eba5b2c0c22", - "type": "class", - "name": "EventType", - "filePath": "src/apprentice/audit_log_adapter.py", - "summary": "class EventType(str, Enum) (src/apprentice/audit_log_adapter.py:21)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2f3c451f27da", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7c002f4ba77f", - "type": "class", - "name": "AuditLogger", - "filePath": "src/apprentice/audit_log.py", - "summary": "class AuditLogger(Protocol) (src/apprentice/audit_log.py:147) ## Methods - entries_by_task(self, task_name: str) -> list[AuditEntry]", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2f3c451f27da", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-6d41b578aa45", - "type": "class", - "name": "EventType", - "filePath": "src/apprentice/audit_log.py", - "summary": "class EventType(str, Enum) (src/apprentice/audit_log.py:38)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2f904b46c6d2", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-636c0a4eada3", - "type": "class", - "name": "JsonFormatter", - "filePath": "src/apprentice/audit_log.py", - "summary": "class JsonFormatter(logging.Formatter) (src/apprentice/audit_log.py:177) ## Methods - format(self, record: logging.LogRecord) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-2f904b46c6d2", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-0a2b0b09c17b", - "type": "class", - "name": "JsonLinesAuditLogger", - "filePath": "src/apprentice/audit_log.py", - "summary": "class JsonLinesAuditLogger (src/apprentice/audit_log.py:187) ## Methods - entries_by_task(self, task_name: str) -> AuditEntryList", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-30f13d064cc3", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-29169cd6501c", - "type": "class", - "name": "PactFormatter", - "filePath": "src/apprentice/audit_log.py", - "summary": "class PactFormatter(logging.Formatter) (src/apprentice/audit_log.py:24) ## Methods - format(self, record)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-30f13d064cc3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-f3e06b5c9729", - "type": "class", - "name": "RootConfig", - "filePath": "src/apprentice/story_learner.py", - "summary": "class RootConfig (src/apprentice/story_learner.py:56) ## Methods - __post_init__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-30f691eb5f9e", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f6eb83301ce8", - "type": "class", - "name": "StoryProcessingError", - "filePath": "src/apprentice/story_learner.py", - "summary": "class StoryProcessingError(Exception) (src/apprentice/story_learner.py:41)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-30f691eb5f9e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e24576be3b1b", - "type": "class", - "name": "AuditConfig", - "filePath": "src/apprentice/audit_log.py", - "summary": "class AuditConfig(BaseModel) (src/apprentice/audit_log.py:115) ## Methods - validate_log_path(cls, v: str) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-31238733194f", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-0a5a43caafb7", - "type": "class", - "name": "AuditEntry", - "filePath": "src/apprentice/audit_log.py", - "summary": "class AuditEntry(BaseModel) (src/apprentice/audit_log.py:56) ## Methods - __setattr__(self, name, value)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-31238733194f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-137554362c9f", - "type": "class", - "name": "ExportedState", - "filePath": "src/apprentice/story_learner.py", - "summary": "class ExportedState (src/apprentice/story_learner.py:95)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3152f3f3068c", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-728182efed48", - "type": "class", - "name": "LearningStateError", - "filePath": "src/apprentice/story_learner.py", - "summary": "class LearningStateError(Exception) (src/apprentice/story_learner.py:46)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3152f3f3068c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9f03cb5fe5ef", - "type": "class", - "name": "LearningSummary", - "filePath": "src/apprentice/story_learner.py", - "summary": "class LearningSummary (src/apprentice/story_learner.py:86)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-31609e1f28be", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-469d95b4c761", - "type": "class", - "name": "ProcessingResult", - "filePath": "src/apprentice/story_learner.py", - "summary": "class ProcessingResult (src/apprentice/story_learner.py:74)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-31609e1f28be", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3d45a761f68e", - "type": "class", - "name": "ApprenticeServer", - "filePath": "src/apprentice/cli/serve.py", - "summary": "class ApprenticeServer (src/apprentice/cli/serve.py:164) ## Methods - start(self) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3228a47ce933", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-84df39a1c8c4", - "type": "class", - "name": "SecurityConfig", - "filePath": "src/apprentice/cli/serve.py", - "summary": "class SecurityConfig (src/apprentice/cli/serve.py:34) ## Methods - build_ssl_context(self) -> Optional[ssl.SSLContext]", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3228a47ce933", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-21013ff39348", - "type": "class", - "name": "ApprenticeStoryLearner", - "filePath": "src/apprentice/story_learner.py", - "summary": "class ApprenticeStoryLearner (src/apprentice/story_learner.py:112) ## Methods - export_state(self) -> ExportedState", - "tags": [ - "code", - "python" - ], - "complexity": 5, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3252dd4c3e6c", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-90d68cf5ca50", - "type": "class", - "name": "TaskConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class TaskConfig(BaseModel) (src/apprentice/config_loader.py:250)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3252dd4c3e6c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-281f697001fc", - "type": "class", - "name": "TaskFieldSpec", - "filePath": "src/apprentice/config_loader.py", - "summary": "class TaskFieldSpec(BaseModel) (src/apprentice/config_loader.py:240)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3287f35dc25d", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-bb118750eaef", - "type": "class", - "name": "TrainingDataStoreConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class TrainingDataStoreConfig(BaseModel) (src/apprentice/config_loader.py:351)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3287f35dc25d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-edd360947820", - "type": "class", - "name": "ValidationErrorDetail", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ValidationErrorDetail (src/apprentice/config_loader.py:92)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-32b9259abbbe", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-116fae85271c", - "type": "class", - "name": "PIIConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class PIIConfig(BaseModel) (src/apprentice/config_loader.py:374)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-32b9259abbbe", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-0f8fce43fc85", - "type": "class", - "name": "PluginEntryConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class PluginEntryConfig(BaseModel) (src/apprentice/config_loader.py:359)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-32c1a3269918", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-aab00d9d5301", - "type": "class", - "name": "ProviderConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ProviderConfig(BaseModel) (src/apprentice/config_loader.py:170) ## Methods - resolve_api_key(cls, v: Any) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-32c1a3269918", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-59cc03a1a6d6", - "type": "class", - "name": "SkillPackageRefConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class SkillPackageRefConfig(BaseModel) (src/apprentice/config_loader.py:413)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-33939f79dc0f", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7bf230b234eb", - "type": "class", - "name": "LocalModelConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class LocalModelConfig(BaseModel) (src/apprentice/config_loader.py:189)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-33939f79dc0f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d36748a99a9f", - "type": "class", - "name": "LogLevel", - "filePath": "src/apprentice/config_loader.py", - "summary": "class LogLevel(Enum) (src/apprentice/config_loader.py:51)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-33a41f115b3f", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-c07d98abbdc9", - "type": "class", - "name": "MatchFieldSpec", - "filePath": "src/apprentice/config_loader.py", - "summary": "class MatchFieldSpec(BaseModel) (src/apprentice/config_loader.py:200)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-33a41f115b3f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2da52d120ca7", - "type": "class", - "name": "MiddlewareEntryConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class MiddlewareEntryConfig(BaseModel) (src/apprentice/config_loader.py:366)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3473fb60bdc0", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7132a0c9a123", - "type": "class", - "name": "ObserverConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ObserverConfig(BaseModel) (src/apprentice/config_loader.py:403)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3473fb60bdc0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b43b2ae2777e", - "type": "class", - "name": "EventHandlerConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class EventHandlerConfig(BaseModel) (src/apprentice/config_loader.py:314)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-35da23c435b7", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-c0778853b440", - "type": "class", - "name": "FeedbackConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class FeedbackConfig(BaseModel) (src/apprentice/config_loader.py:395)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-35da23c435b7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-97c3f293355c", - "type": "class", - "name": "FinetuningBackendName", - "filePath": "src/apprentice/config_loader.py", - "summary": "class FinetuningBackendName(Enum) (src/apprentice/config_loader.py:41)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3619a577f48a", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-90f1d655925f", - "type": "class", - "name": "FinetuningConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class FinetuningConfig(BaseModel) (src/apprentice/config_loader.py:276) ## Methods - resolve_api_key(cls, v: Any) -> Optional[str]", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3619a577f48a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-0052752c7470", - "type": "class", - "name": "ConfigParseError", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ConfigParseError(ConfigError) (src/apprentice/config_loader.py:83)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3660e16f3d4c", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-42230c0357ac", - "type": "class", - "name": "ConfigValidationError", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ConfigValidationError(ConfigError) (src/apprentice/config_loader.py:101)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3660e16f3d4c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-7f0c4096ad31", - "type": "class", - "name": "EnvVarNotFoundError", - "filePath": "src/apprentice/config_loader.py", - "summary": "class EnvVarNotFoundError(ConfigError) (src/apprentice/config_loader.py:109)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-36637edc4245", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-52826499577a", - "type": "class", - "name": "EvaluatorConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class EvaluatorConfig(BaseModel) (src/apprentice/config_loader.py:218) ## Methods - validate_type(cls, v: Any) -> EvaluatorTypeName", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-36637edc4245", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-28e317b3bef5", - "type": "class", - "name": "EvaluatorTypeName", - "filePath": "src/apprentice/config_loader.py", - "summary": "class EvaluatorTypeName(Enum) (src/apprentice/config_loader.py:32)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-36d0788b3256", + "target": "code-mod-apprentice-7d6467b32525", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-1685f5d08e13", - "type": "class", - "name": "BudgetConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class BudgetConfig(BaseModel) (src/apprentice/config_loader.py:264)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-36d0788b3256", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a5255184f43a", - "type": "class", - "name": "ConfidenceThresholds", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/config_loader.py:209)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-370f778d5b34", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-6c87a91539f5", - "type": "class", - "name": "ConfigError", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ConfigError(Exception) (src/apprentice/config_loader.py:65)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-370f778d5b34", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-33a41f115b3f", - "type": "class", - "name": "ConfigFileNotFoundError", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ConfigFileNotFoundError(ConfigError) (src/apprentice/config_loader.py:75)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3744945d97ec", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-1bb7790bf47f", - "type": "class", - "name": "ApprenticeConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/config_loader.py:427) ## Methods - validate_cross_field_constraints(self) -> \"ApprenticeConfig\"", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3744945d97ec", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-741c2130507b", - "type": "class", - "name": "AuditConfig", - "filePath": "src/apprentice/config_loader.py", - "summary": "class AuditConfig(BaseModel) (src/apprentice/config_loader.py:329) ## Methods - validate_log_level(cls, v: Any) -> LogLevel", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3754794d8a6a", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-970d0cc4d9bf", - "type": "class", - "name": "TaskNotFoundError", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class TaskNotFoundError(ApprenticeError) (src/apprentice/apprentice_class.py:236)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3754794d8a6a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-83d0ec9b127e", - "type": "class", - "name": "TaskResponse", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class TaskResponse(BaseModel) (src/apprentice/apprentice_class.py:125)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-37a1eb566f1e", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-12bb73991f48", - "type": "class", - "name": "TaskRegistry", - "filePath": "src/apprentice/config_and_registry.py", - "summary": "class TaskRegistry(task_registry.TaskRegistry) (src/apprentice/config_and_registry.py:61)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-37a1eb566f1e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4a7fcc5b33cd", - "type": "class", - "name": "ResponseMetadata", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class ResponseMetadata(BaseModel) (src/apprentice/apprentice_class.py:114)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-39bf8ac3f2c5", + "target": "code-mod-apprentice-679f57c4c4db", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-ca8ac279c69a", - "type": "class", - "name": "RunContext", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class RunContext(BaseModel) (src/apprentice/apprentice_class.py:174)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-39bf8ac3f2c5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-71594400434a", - "type": "class", - "name": "RunStatus", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class RunStatus(Enum) (src/apprentice/apprentice_class.py:36)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-39c3086e4000", + "target": "code-mod-apprentice-47cb5b732738", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-588d249a6949", - "type": "class", - "name": "SystemReport", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class SystemReport(BaseModel) (src/apprentice/apprentice_class.py:154)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-39c3086e4000", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d9e053a33e38", - "type": "class", - "name": "TaskConfig", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class TaskConfig(BaseModel) (src/apprentice/apprentice_class.py:76)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3a21c5da5d82", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-a7c0e2961c86", - "type": "class", - "name": "ErrorKind", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class ErrorKind(Enum) (src/apprentice/apprentice_class.py:43)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3a21c5da5d82", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b647e4598918", - "type": "class", - "name": "LocalModelUnavailableError", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class LocalModelUnavailableError(ApprenticeError) (src/apprentice/apprentice_class.py:250)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3a7787fcfec1", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5e9826a02974", - "type": "class", - "name": "ModelSource", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class ModelSource(Enum) (src/apprentice/apprentice_class.py:22)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3a7787fcfec1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-46fc2a3ba228", - "type": "class", - "name": "PhaseLabel", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class PhaseLabel(Enum) (src/apprentice/apprentice_class.py:28)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3b54c74322ba", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-61ed476d61c0", - "type": "class", - "name": "ApprenticeError", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class ApprenticeError(Exception) (src/apprentice/apprentice_class.py:202)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3b54c74322ba", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-02b8cda2b167", - "type": "class", - "name": "BudgetEnforcementConfig", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class BudgetEnforcementConfig(BaseModel) (src/apprentice/apprentice_class.py:88)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3b691d01dec7", + "target": "code-mod-apprentice-e250f0d85893", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-ba09138e9ebc", - "type": "class", - "name": "BudgetExhaustedError", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class BudgetExhaustedError(ApprenticeError) (src/apprentice/apprentice_class.py:219)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3b691d01dec7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-cac3b741cb3a", - "type": "class", - "name": "ConfidenceSnapshot", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/apprentice_class.py:138)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3bac50e4ae72", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-370f778d5b34", - "type": "class", - "name": "ConfidenceThresholds", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/apprentice_class.py:55) ## Methods - validate_threshold_ordering(self)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3bac50e4ae72", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d6f1460f0624", - "type": "class", - "name": "Apprentice", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class Apprentice (src/apprentice/apprentice_class.py:269) ## Methods - __aenter__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 13, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3bb3a00b8546", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-6d4714d3414c", - "type": "class", - "name": "ApprenticeConfig", - "filePath": "src/apprentice/apprentice_class.py", - "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/apprentice_class.py:97)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3bb3a00b8546", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-cb046538b4a7", - "type": "class", - "name": "RetryConfig", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class RetryConfig(BaseModel) (src/apprentice/remote_api_client.py:64)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3c1a44c9510b", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-fe84e8be6c95", - "type": "class", - "name": "TaskResponse", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class TaskResponse(BaseModel) (src/apprentice/remote_api_client.py:93)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3c1a44c9510b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-687107ce0745", - "type": "class", - "name": "TimeoutConfig", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class TimeoutConfig(BaseModel) (src/apprentice/remote_api_client.py:72)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3c4cd175f7ce", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-2f3c451f27da", - "type": "class", - "name": "TokenPricing", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class TokenPricing(BaseModel) (src/apprentice/remote_api_client.py:51)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3c4cd175f7ce", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-435caae2fed3", - "type": "class", - "name": "TokenUsage", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class TokenUsage(BaseModel) (src/apprentice/remote_api_client.py:43)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3c6f10e1efdb", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5db84766697d", - "type": "class", - "name": "RateLimitError", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class RateLimitError(RemoteClientError) (src/apprentice/remote_api_client.py:166)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3c6f10e1efdb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2250fa629391", - "type": "class", - "name": "RemoteClientConfig", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class RemoteClientConfig(BaseModel) (src/apprentice/remote_api_client.py:79)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3cf284e686d8", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-36637edc4245", - "type": "class", - "name": "RemoteClientError", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class RemoteClientError(Exception) (src/apprentice/remote_api_client.py:142)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3cf284e686d8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-282fa07acc28", - "type": "class", - "name": "RemoteUnavailableError", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class RemoteUnavailableError(RemoteClientError) (src/apprentice/remote_api_client.py:182)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } - }, - { - "id": "code-sym-apprentice-ec48bc0862bb", - "type": "class", - "name": "OpenAIClient", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class OpenAIClient(BaseRemoteClient) (src/apprentice/remote_api_client.py:516)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3d45a761f68e", + "target": "code-mod-apprentice-921fa79fbb5d", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-892f600a6388", - "type": "class", - "name": "PricingTable", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class PricingTable(BaseModel) (src/apprentice/remote_api_client.py:59)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3d45a761f68e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4bbb5b609cf7", - "type": "class", - "name": "PromptMessage", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class PromptMessage(BaseModel) (src/apprentice/remote_api_client.py:124)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3e22697d494a", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-451391f1ce68", - "type": "class", - "name": "ProviderName", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class ProviderName(Enum) (src/apprentice/remote_api_client.py:25)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3e22697d494a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-78e342bad5e0", - "type": "class", - "name": "DiversityResult", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class DiversityResult(BaseModel) (src/apprentice/remote_api_client.py:117)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3e4db604c1ca", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-583a9b73e482", - "type": "class", - "name": "ErrorInfo", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class ErrorInfo(BaseModel) (src/apprentice/remote_api_client.py:106)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3e4db604c1ca", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d7c232925557", - "type": "class", - "name": "GenerationParams", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class GenerationParams(BaseModel) (src/apprentice/remote_api_client.py:130)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3eda52a0a4e6", + "target": "code-mod-apprentice-b627511984c7", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-53fcb8c4a476", - "type": "class", - "name": "InvalidRequestError", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class InvalidRequestError(RemoteClientError) (src/apprentice/remote_api_client.py:198)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-3eda52a0a4e6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-109ed9bbd35d", - "type": "class", - "name": "MessageRole", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class MessageRole(Enum) (src/apprentice/remote_api_client.py:32)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-403f24c961e2", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-0990e83f6fa3", - "type": "class", - "name": "AnthropicClient", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class AnthropicClient(BaseRemoteClient) (src/apprentice/remote_api_client.py:381)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-403f24c961e2", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-eecb4874144d", - "type": "class", - "name": "AuthError", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class AuthError(RemoteClientError) (src/apprentice/remote_api_client.py:161)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-40f21272e4f8", + "target": "code-mod-apprentice-a900b12b40af", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f15e0dbbc79b", - "type": "class", - "name": "BaseRemoteClient", - "filePath": "src/apprentice/remote_api_client.py", - "summary": "class BaseRemoteClient(ABC) (src/apprentice/remote_api_client.py:252) ## Methods - __repr__(self) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-40f21272e4f8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d43087c634ac", - "type": "class", - "name": "PackageSkillStatus", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class PackageSkillStatus(BaseModel) (src/apprentice/package_runtime.py:121)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-41bd38128171", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-2baf16d0ed1b", - "type": "class", - "name": "PackageValidationReport", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class PackageValidationReport(BaseModel) (src/apprentice/package_runtime.py:44)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-41bd38128171", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d6d62e018e90", - "type": "class", - "name": "ToolInvocationResult", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class ToolInvocationResult(BaseModel) (src/apprentice/package_runtime.py:67)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } - }, - { - "id": "code-sym-apprentice-fecb991faa3a", - "type": "class", - "name": "ToolPreflightClient", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class ToolPreflightClient (src/apprentice/package_runtime.py:90) ## Methods - check(self, tool: ToolSpec, input_data: Mapping[str, Any]) -> ToolPreflightResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-41de3b187a11", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-515c25946f55", - "type": "class", - "name": "ToolPreflightResult", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class ToolPreflightResult(BaseModel) (src/apprentice/package_runtime.py:80)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-41de3b187a11", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e77c66697f35", - "type": "class", - "name": "CredentialResolver", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class CredentialResolver (src/apprentice/package_runtime.py:206) ## Methods - diagnose(self, auth_ref: str) -> CredentialResolution", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-42230c0357ac", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-07e2b98f82e5", - "type": "class", - "name": "EvaluatorRunResult", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class EvaluatorRunResult(BaseModel) (src/apprentice/package_runtime.py:109)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-42230c0357ac", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-636bea536eea", - "type": "class", - "name": "PackageDiagnostic", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class PackageDiagnostic(BaseModel) (src/apprentice/package_runtime.py:34)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4287dac130f6", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-0ff066a3771e", - "type": "class", - "name": "PackageRegistryStore", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class PackageRegistryStore (src/apprentice/package_runtime.py:174) ## Methods - load(self) -> Optional[dict[str,Any]]", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4287dac130f6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-dcedf53f2d6a", - "type": "class", - "name": "PackageRuntimeState", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class PackageRuntimeState (src/apprentice/package_runtime.py:133) ## Methods - all_statuses(self) -> list[PackageSkillStatus]", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-435caae2fed3", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-9ed747ed9d2e", - "type": "class", - "name": "ConfidenceDataSource", - "filePath": "src/apprentice/reporting.py", - "summary": "class ConfidenceDataSource(Protocol) (src/apprentice/reporting.py:81) ## Methods - get_confidence(self, task_type: str) -> float", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-435caae2fed3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-192ed3d8bd55", - "type": "class", - "name": "AllowBuiltinToolPreflightClient", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class AllowBuiltinToolPreflightClient(ToolPreflightClient) (src/apprentice/package_runtime.py:100) ## Methods - check(self, tool: ToolSpec, input_data: Mapping[str, Any]) -> ToolPreflightResult", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-43a24fc5a7ce", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-559f89ea592e", - "type": "class", - "name": "CredentialResolution", - "filePath": "src/apprentice/package_runtime.py", - "summary": "class CredentialResolution(BaseModel) (src/apprentice/package_runtime.py:56)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-43a24fc5a7ce", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-49ca55ec0d1e", - "type": "class", - "name": "TrendDirection", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class TrendDirection(str, Enum) (src/apprentice/report_generator/models.py:14)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4440ba039f76", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7e766569c924", - "type": "class", - "name": "AuditDataSource", - "filePath": "src/apprentice/reporting.py", - "summary": "class AuditDataSource(Protocol) (src/apprentice/reporting.py:125) ## Methods - entries_by_task(self, task_name: str) -> AuditEntryList", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4440ba039f76", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-f3f1a69a2aed", - "type": "class", - "name": "BudgetDataSource", - "filePath": "src/apprentice/reporting.py", - "summary": "class BudgetDataSource(Protocol) (src/apprentice/reporting.py:103) ## Methods - get_budget_limit(self) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 6, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-451391f1ce68", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-7da358622aaa", - "type": "class", - "name": "FormattedReport", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class FormattedReport(BaseModel) (src/apprentice/report_generator/models.py:217) ## Methods - validate_content_length(cls, v: int) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-451391f1ce68", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-13d3cef376c6", - "type": "class", - "name": "ReportConfig", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class ReportConfig(BaseModel) (src/apprentice/report_generator/models.py:188)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-469d95b4c761", + "target": "code-mod-apprentice-e8d0a78f189b", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-e1e4bb4d841c", - "type": "class", - "name": "ReportFormat", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class ReportFormat(str, Enum) (src/apprentice/report_generator/models.py:38)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-469d95b4c761", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-93665802ae17", - "type": "class", - "name": "SystemReport", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class SystemReport(BaseModel) (src/apprentice/report_generator/models.py:168) ## Methods - validate_task_types_count(cls, v: int) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-46fc2a3ba228", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-1146d58607f4", - "type": "class", - "name": "TaskConfidenceReport", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class TaskConfidenceReport(BaseModel) (src/apprentice/report_generator/models.py:55) ## Methods - validate_confidence_score(cls, v: float) -> float", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-46fc2a3ba228", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-5ea6e90a3f1d", - "type": "class", - "name": "CorrelationWindow", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class CorrelationWindow(BaseModel) (src/apprentice/report_generator/models.py:99) ## Methods - validate_correlation_score(cls, v: float) -> float", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-475f20b819b7", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8caa4631ab89", - "type": "class", - "name": "CostBreakdown", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class CostBreakdown(BaseModel) (src/apprentice/report_generator/models.py:80) ## Methods - validate_budget_utilization_pct(cls, v: float) -> float", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-475f20b819b7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-32c1a3269918", - "type": "class", - "name": "DeliveryResult", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class DeliveryResult(BaseModel) (src/apprentice/report_generator/models.py:198) ## Methods - validate_duration_ms(cls, v: int) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-47e640b1e2dc", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-37a1eb566f1e", - "type": "class", - "name": "DeliveryStatus", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class DeliveryStatus(str, Enum) (src/apprentice/report_generator/models.py:44)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-47e640b1e2dc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d7b699fb8c6f", - "type": "class", - "name": "Alert", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class Alert(BaseModel) (src/apprentice/report_generator/models.py:156)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4873042120ee", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5951023f634e", - "type": "class", - "name": "AlertSeverity", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class AlertSeverity(str, Enum) (src/apprentice/report_generator/models.py:21)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4873042120ee", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-06a5682b61b8", - "type": "class", - "name": "AlertType", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class AlertType(str, Enum) (src/apprentice/report_generator/models.py:28)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4907659c592a", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-2d6251043c69", - "type": "class", - "name": "CorrelationHistory", - "filePath": "src/apprentice/report_generator/models.py", - "summary": "class CorrelationHistory(BaseModel) (src/apprentice/report_generator/models.py:132) ## Methods - validate_windows_available(cls, v: int) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4907659c592a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b4469870a778", - "type": "class", - "name": "StoryTrainingExample", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class StoryTrainingExample (src/apprentice/training_data_store.py:668) ## Methods - __eq__(self, other)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-49b6368a2950", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-03d1c2bf4c9a", - "type": "class", - "name": "TrainingDataStore", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class TrainingDataStore (src/apprentice/training_data_store.py:135) ## Methods - add_example(self, example: TrainingExample) -> AddExampleResult", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-49b6368a2950", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3bb3a00b8546", - "type": "class", - "name": "TrainingDataStoreConfig", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class TrainingDataStoreConfig(BaseModel) (src/apprentice/training_data_store.py:85)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-49ca55ec0d1e", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-54a48f4345e7", - "type": "class", - "name": "TrainingExample", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class TrainingExample(BaseModel) (src/apprentice/training_data_store.py:42) ## Methods - validate_metadata_serializable(self)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-49ca55ec0d1e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e91b76ea4a2d", - "type": "class", - "name": "SplitKind", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class SplitKind(Enum) (src/apprentice/training_data_store.py:118)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4a7fcc5b33cd", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-0ce3b2ff65f0", - "type": "class", - "name": "SplitName", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class SplitName(Enum) (src/apprentice/training_data_store.py:576)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4a7fcc5b33cd", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-854586bac930", - "type": "class", - "name": "StoryCollector", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class StoryCollector (src/apprentice/training_data_store.py:714) ## Methods - get_story_batch(self, story_type: str, split: str) -> StoryList", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4ae2d5ceee67", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5b9199492bae", - "type": "class", - "name": "StoryStep", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class StoryStep (src/apprentice/training_data_store.py:584) ## Methods - __eq__(self, other)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4ae2d5ceee67", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-be55dd5f5676", - "type": "class", - "name": "AddExampleResult", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class AddExampleResult(BaseModel) (src/apprentice/training_data_store.py:95)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4ba2c0bdf563", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-cdfd4d9fc822", - "type": "class", - "name": "CollectorStory", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class CollectorStory (src/apprentice/training_data_store.py:624) ## Methods - __eq__(self, other)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4ba2c0bdf563", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-aad946f77a7c", - "type": "class", - "name": "ExampleCount", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class ExampleCount(BaseModel) (src/apprentice/training_data_store.py:107)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4bbb5b609cf7", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-c13a7c1d3558", - "type": "class", - "name": "PactFormatter", - "filePath": "src/apprentice/training_data_store.py", - "summary": "class PactFormatter(logging.Formatter) (src/apprentice/training_data_store.py:24) ## Methods - format(self, record)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4bbb5b609cf7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-8cb1418b8ce0", - "type": "file", - "name": "src/apprentice/skill_package.py", - "filePath": "src/apprentice/skill_package.py", - "summary": "Language: Python | Path: src/apprentice/skill_package.py | ~701 lines ## Classes - ActionSpec(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 28, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-4bd096f2f039", + "target": "code-mod-apprentice-778f4e5a0cd4", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-33939f79dc0f", - "type": "class", - "name": "ActionSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class ActionSpec(BaseModel) (src/apprentice/skill_package.py:135)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4bd096f2f039", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-0b7adcddcfd0", - "type": "class", - "name": "ArtifactSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class ArtifactSpec(BaseModel) (src/apprentice/skill_package.py:178)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4d62e8b44290", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-205de453a6ab", - "type": "class", - "name": "CompatibilitySpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class CompatibilitySpec(BaseModel) (src/apprentice/skill_package.py:55)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4d62e8b44290", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-1b5c3962a21b", - "type": "class", - "name": "ConstraintCheckResult", - "filePath": "src/apprentice/skill_package.py", - "summary": "class ConstraintCheckResult(BaseModel) (src/apprentice/skill_package.py:46)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4e0b8ee0ac6f", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-6fd13b388efb", - "type": "class", - "name": "ConstraintSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class ConstraintSpec(BaseModel) (src/apprentice/skill_package.py:104) ## Methods - validate_applies_to(cls, scopes: list[str]) -> list[str]", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4e0b8ee0ac6f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-98930e20788c", - "type": "class", - "name": "ConstraintViolation", - "filePath": "src/apprentice/skill_package.py", - "summary": "class ConstraintViolation(BaseModel) (src/apprentice/skill_package.py:35)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4e4bcdd435e4", + "target": "code-mod-apprentice-4174c65f149a", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-eb7b092ffabc", - "type": "class", - "name": "EvaluatorSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class EvaluatorSpec(BaseModel) (src/apprentice/skill_package.py:165)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4e4bcdd435e4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-bcae2e3ed0cf", - "type": "class", - "name": "EventMappingSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class EventMappingSpec(BaseModel) (src/apprentice/skill_package.py:200)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4e775377d379", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-3152f3f3068c", - "type": "class", - "name": "FeedbackSignalSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class FeedbackSignalSpec(BaseModel) (src/apprentice/skill_package.py:190)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4e775377d379", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4873042120ee", - "type": "class", - "name": "InvocationSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class InvocationSpec(BaseModel) (src/apprentice/skill_package.py:78)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4f900fb9a6c9", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-c328d5ff87db", - "type": "class", - "name": "OutcomeSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class OutcomeSpec(BaseModel) (src/apprentice/skill_package.py:124)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-4f900fb9a6c9", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a1066cbd8043", - "type": "class", - "name": "ParameterSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class ParameterSpec(BaseModel) (src/apprentice/skill_package.py:92)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-505f6790b4ab", + "target": "code-mod-apprentice-ad0541b8a96a", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-5987c09cf27e", - "type": "class", - "name": "RuntimeBindingSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class RuntimeBindingSpec(BaseModel) (src/apprentice/skill_package.py:65)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-505f6790b4ab", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-a302728cf893", - "type": "class", - "name": "SkillPackage", - "filePath": "src/apprentice/skill_package.py", - "summary": "class SkillPackage(BaseModel) (src/apprentice/skill_package.py:255) ## Methods - check_constraints( self, skill_name: str, *, action_name: Optional[str] = None, context: Optional[JsonObject] = None, ) -> ConstraintCheckResult", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-50668ace6850", + "target": "code-mod-apprentice-7fa8b703f13e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f374aa34e81f", - "type": "class", - "name": "SkillSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class SkillSpec(BaseModel) (src/apprentice/skill_package.py:215) ## Methods - action_for(self, name: str) -> Optional[ActionSpec]", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-50668ace6850", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e64910957d85", - "type": "class", - "name": "ToolSpec", - "filePath": "src/apprentice/skill_package.py", - "summary": "class ToolSpec(BaseModel) (src/apprentice/skill_package.py:148)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5117d87bea5e", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "id": "code-mod-apprentice-db3d0c1a6fce", - "type": "file", - "name": "src/apprentice/training_pipeline.py", - "filePath": "src/apprentice/training_pipeline.py", - "summary": "Language: Python | Path: src/apprentice/training_pipeline.py | ~837 lines ## Classes - AddExampleInput(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 18, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-5117d87bea5e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-29d005e51098", - "type": "class", - "name": "PackageArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class PackageArgs(BaseModel) (src/apprentice/cli/cli_models.py:109)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-511dc840eddb", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-1738fd71da32", - "type": "class", - "name": "Message", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class Message(BaseModel) (src/apprentice/external_interfaces.py:64)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-511dc840eddb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-cb30731509fd", - "type": "class", - "name": "ParsedArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class ParsedArgs(BaseModel) (src/apprentice/cli/cli_models.py:137)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-515c25946f55", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-cb14eee6d598", - "type": "class", - "name": "ParsedArgs", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ParsedArgs(BaseModel) (src/apprentice/unified_interface.py:102)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-515c25946f55", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d238b4ce07a4", - "type": "class", - "name": "SourceType", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class SourceType(str, Enum) (src/apprentice/external_interfaces.py:25)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5160652faa5d", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-09abc8002a4e", - "type": "class", - "name": "SubcommandName", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class SubcommandName(Enum) (src/apprentice/cli/cli_models.py:33)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5160652faa5d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2dca87d1880a", - "type": "class", - "name": "OutputFormat", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class OutputFormat(Enum) (src/apprentice/cli/cli_models.py:20)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-51d30639b8ca", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-d40b48d429ba", - "type": "class", - "name": "OutputFormat", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class OutputFormat(str, Enum) (src/apprentice/unified_interface.py:91)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-51d30639b8ca", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-7d9f7e248228", - "type": "class", - "name": "SubcommandName", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class SubcommandName(str, Enum) (src/apprentice/unified_interface.py:84)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-522cf079a72b", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-a1345a5a251d", - "type": "class", - "name": "BackendRegistry", - "filePath": "src/apprentice/root/composition.py", - "summary": "class BackendRegistry (src/apprentice/root/composition.py:128)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-522cf079a72b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ba5560be1dba", - "type": "class", - "name": "BackendRegistryEntry", - "filePath": "src/apprentice/root/composition.py", - "summary": "class BackendRegistryEntry (src/apprentice/root/composition.py:117)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-52826499577a", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-c7f9d18376e6", - "type": "class", - "name": "ExitCode", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class ExitCode(Enum) (src/apprentice/cli/cli_models.py:12)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-52826499577a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4440ba039f76", - "type": "class", - "name": "LogLevel", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class LogLevel(Enum) (src/apprentice/cli/cli_models.py:26)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-52f9571b95d5", + "target": "code-mod-apprentice-594207c53b32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-32b9259abbbe", - "type": "class", - "name": "ExitCode", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ExitCode(IntEnum) (src/apprentice/unified_interface.py:76)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-52f9571b95d5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3252dd4c3e6c", - "type": "class", - "name": "LogLevel", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class LogLevel(str, Enum) (src/apprentice/unified_interface.py:96)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-53d498396397", + "target": "code-mod-apprentice-7fa8b703f13e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f2b35f69af41", - "type": "class", - "name": "ConfidenceSnapshot", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/unified_interface.py:151)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-53d498396397", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d8cc2b65cacb", - "type": "class", - "name": "ConfidenceSnapshot", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/sampling_scheduler.py:137) ## Methods - validate_correlation(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-53f89a74212e", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-mod-apprentice-e250f0d85893", - "type": "file", - "name": "src/apprentice/factory.py", - "filePath": "src/apprentice/factory.py", - "summary": "Language: Python | Path: src/apprentice/factory.py | ~789 lines ## Classes - RouterAuditAdapter", - "tags": [ - "code", - "python" - ], - "complexity": 8, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-53f89a74212e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-bd613f7dcbef", - "type": "class", - "name": "RouterAuditAdapter", - "filePath": "src/apprentice/factory.py", - "summary": "class RouterAuditAdapter (src/apprentice/factory.py:257) ## Methods - log(self, entry: Any) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-53fcb8c4a476", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-daf474aebab5", - "type": "class", - "name": "RouterBudgetAdapter", - "filePath": "src/apprentice/factory.py", - "summary": "class RouterBudgetAdapter (src/apprentice/factory.py:22) ## Methods - check_budget(self) -> Any", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-53fcb8c4a476", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-60c376ec4e9d", - "type": "class", - "name": "RouterConfidenceAdapter", - "filePath": "src/apprentice/factory.py", - "summary": "class RouterConfidenceAdapter (src/apprentice/factory.py:81) ## Methods - get_phase_context(self, task_type: str) -> Any", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-548e78fbb0f3", + "target": "code-mod-apprentice-a900b12b40af", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-88ca8a5da63c", - "type": "class", - "name": "RouterLocalAdapter", - "filePath": "src/apprentice/factory.py", - "summary": "class RouterLocalAdapter (src/apprentice/factory.py:169) ## Methods - call(self, request: Any) -> Any", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-548e78fbb0f3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e70f423f4c56", - "type": "class", - "name": "RouterRemoteAdapter", - "filePath": "src/apprentice/factory.py", - "summary": "class RouterRemoteAdapter (src/apprentice/factory.py:199) ## Methods - call(self, request: Any) -> Any", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-54a48f4345e7", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-be71e7d1dcb4", - "type": "class", - "name": "RouterSamplingAdapter", - "filePath": "src/apprentice/factory.py", - "summary": "class RouterSamplingAdapter (src/apprentice/factory.py:130) ## Methods - should_coach(self) -> bool", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-54a48f4345e7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3b691d01dec7", - "type": "class", - "name": "RouterTrainingAdapter", - "filePath": "src/apprentice/factory.py", - "summary": "class RouterTrainingAdapter (src/apprentice/factory.py:225) ## Methods - collect(self, example: Any) -> None", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-54c1688565f5", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-mod-apprentice-a2fa0f4c007f", - "type": "file", - "name": "src/apprentice/cli/cli_models.py", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "Language: Python | Path: src/apprentice/cli/cli_models.py | ~231 lines ## Classes - ApprenticeConfig(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 23, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-54c1688565f5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3619a577f48a", - "type": "class", - "name": "PhaseInfo", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class PhaseInfo(BaseModel) (src/apprentice/cli/cli_models.py:161)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-559f89ea592e", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-dceed7ed31ac", - "type": "class", - "name": "ReportArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class ReportArgs(BaseModel) (src/apprentice/cli/cli_models.py:70)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-559f89ea592e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b0f5893be3fe", - "type": "class", - "name": "ReportResult", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class ReportResult(BaseModel) (src/apprentice/cli/cli_models.py:207)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-583a9b73e482", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-9bc8254f40c1", - "type": "class", - "name": "RunArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class RunArgs(BaseModel) (src/apprentice/cli/cli_models.py:55)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-583a9b73e482", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2b56c0e1a8b1", - "type": "class", - "name": "RunResult", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class RunResult(BaseModel) (src/apprentice/cli/cli_models.py:180)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-588d249a6949", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-b1bef74ff18d", - "type": "class", - "name": "ServeArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class ServeArgs(BaseModel) (src/apprentice/cli/cli_models.py:84)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } - }, - { - "id": "code-sym-apprentice-da71582fad25", - "type": "class", - "name": "StatusArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class StatusArgs(BaseModel) (src/apprentice/cli/cli_models.py:63)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-588d249a6949", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-5160652faa5d", - "type": "class", - "name": "StatusResult", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class StatusResult(BaseModel) (src/apprentice/cli/cli_models.py:199)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-592fd9973445", + "target": "code-mod-apprentice-a900b12b40af", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-96ebf4a7443c", - "type": "class", - "name": "TaskStatusEntry", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class TaskStatusEntry(BaseModel) (src/apprentice/cli/cli_models.py:190)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-592fd9973445", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-5d6180056bca", - "type": "class", - "name": "ApprenticeConfig", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/cli/cli_models.py:224) ## Methods - validate_schema(self) -> bool", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5951023f634e", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-2388cd096cd3", - "type": "class", - "name": "BudgetInfo", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class BudgetInfo(BaseModel) (src/apprentice/cli/cli_models.py:170)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5951023f634e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-2edae8522463", - "type": "class", - "name": "GlobalFlags", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class GlobalFlags(BaseModel) (src/apprentice/cli/cli_models.py:46)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5987c09cf27e", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f730d7e5cd0d", - "type": "class", - "name": "IngestArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class IngestArgs(BaseModel) (src/apprentice/cli/cli_models.py:100)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5987c09cf27e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4907659c592a", - "type": "class", - "name": "InitArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class InitArgs(BaseModel) (src/apprentice/cli/cli_models.py:77)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-59cc03a1a6d6", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-3c6f10e1efdb", - "type": "class", - "name": "InputData", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class InputData(BaseModel) (src/apprentice/cli/cli_models.py:154)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-59cc03a1a6d6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-b92524d7ef57", - "type": "class", - "name": "PIIEvaluateArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class PIIEvaluateArgs(BaseModel) (src/apprentice/cli/cli_models.py:129)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a821ca27360", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-bfda6dbc4759", - "type": "class", - "name": "PIIIngestArgs", - "filePath": "src/apprentice/cli/cli_models.py", - "summary": "class PIIIngestArgs(BaseModel) (src/apprentice/cli/cli_models.py:120)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a821ca27360", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-33517cccbba1", - "type": "file", - "name": "examples/wos_client.py", - "filePath": "examples/wos_client.py", - "summary": "Language: Python | Path: examples/wos_client.py | ~16 lines ## Functions - main()", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a8caff7c6b8", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", + "weight": 0.6 }, { - "id": "code-mod-apprentice-d9632c802373", - "type": "file", - "name": "src/apprentice/external_interfaces.py", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "Language: Python | Path: src/apprentice/external_interfaces.py | ~640 lines ## Classes - CompletionRequest(BaseModel)", - "tags": [ - "code", - "python" - ], - "complexity": 25, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a8caff7c6b8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-54c1688565f5", - "type": "class", - "name": "CompletionRequest", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class CompletionRequest(BaseModel) (src/apprentice/external_interfaces.py:90)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a90ec2f6722", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-62b67f726b00", - "type": "class", - "name": "CompletionResponse", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class CompletionResponse(BaseModel) (src/apprentice/external_interfaces.py:97)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a90ec2f6722", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-d431b536422e", - "type": "class", - "name": "GenerationConfig", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class GenerationConfig(BaseModel) (src/apprentice/external_interfaces.py:70)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a90f557eac7", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-51d30639b8ca", - "type": "class", - "name": "HealthReport", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class HealthReport(BaseModel) (src/apprentice/external_interfaces.py:109)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5a90f557eac7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-ab843d6844ca", - "type": "class", - "name": "LocalAdapterConfig", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class LocalAdapterConfig(BaseModel) (src/apprentice/external_interfaces.py:222)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5ade6e1df813", + "target": "code-mod-apprentice-ad0541b8a96a", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-3c4cd175f7ce", - "type": "class", - "name": "LocalModelAdapter", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class LocalModelAdapter (src/apprentice/external_interfaces.py:452) ## Methods - __aenter__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5ade6e1df813", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-c45a5a2d03c8", - "type": "class", - "name": "ModelClientError", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class ModelClientError(Exception) (src/apprentice/external_interfaces.py:136)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5b9199492bae", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-97d6d5170c76", - "type": "class", - "name": "PromotionReport", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class PromotionReport(BaseModel) (src/apprentice/external_interfaces.py:119)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5b9199492bae", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-25fe10311538", - "type": "class", - "name": "RemoteAdapterConfig", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class RemoteAdapterConfig(BaseModel) (src/apprentice/external_interfaces.py:209)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5d6180056bca", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-ff1dde397ead", - "type": "class", - "name": "RemoteModelAdapter", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class RemoteModelAdapter (src/apprentice/external_interfaces.py:372) ## Methods - __aenter__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5d6180056bca", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9ea61c5c45e1", - "type": "class", - "name": "RetriableError", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class RetriableError(ModelClientError) (src/apprentice/external_interfaces.py:155)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5db84766697d", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f32104e62ac6", - "type": "class", - "name": "Role", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class Role(str, Enum) (src/apprentice/external_interfaces.py:31)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5db84766697d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-3e4db604c1ca", - "type": "class", - "name": "SourceInfo", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class SourceInfo(BaseModel) (src/apprentice/external_interfaces.py:54)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5dff024d186c", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-53f89a74212e", - "type": "class", - "name": "SourceUnavailableError", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class SourceUnavailableError(ModelClientError) (src/apprentice/external_interfaces.py:189)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5dff024d186c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-911078fb2a31", - "type": "class", - "name": "TerminalError", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class TerminalError(ModelClientError) (src/apprentice/external_interfaces.py:173)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5e43f8c09308", + "target": "code-mod-apprentice-1698980bbd1a", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-25867fd21bea", - "type": "class", - "name": "UnavailableReason", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class UnavailableReason(str, Enum) (src/apprentice/external_interfaces.py:38)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5e43f8c09308", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8ff0332174af", - "type": "class", - "name": "UnifiedTokenUsage", - "filePath": "src/apprentice/external_interfaces.py", - "summary": "class UnifiedTokenUsage(BaseModel) (src/apprentice/external_interfaces.py:80)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5e9826a02974", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-mod-apprentice-1f9cceef3863", - "type": "file", - "name": "src/apprentice/phase_manager.py", - "filePath": "src/apprentice/phase_manager.py", - "summary": "Language: Python | Path: src/apprentice/phase_manager.py | ~481 lines ## Classes - Clock(Protocol)", - "tags": [ - "code", - "python" - ], - "complexity": 23, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-5e9826a02974", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-6b512dd031b1", - "type": "class", - "name": "Clock", - "filePath": "src/apprentice/phase_manager.py", - "summary": "class Clock(Protocol) (src/apprentice/phase_manager.py:68) ## Methods - now(self) -> str", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5ea6e90a3f1d", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f137e82a9ecf", - "type": "class", - "name": "EvaluateResult", - "filePath": "src/apprentice/phase_manager.py", - "summary": "class EvaluateResult(BaseModel) (src/apprentice/phase_manager.py:140)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5ea6e90a3f1d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-88e7b6d6a4d3", - "type": "class", - "name": "PactFormatter", - "filePath": "src/apprentice/phase_manager.py", - "summary": "class PactFormatter(logging.Formatter) (src/apprentice/phase_manager.py:19) ## Methods - format(self, record)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5eaaf4cfa4b8", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-1a7b73d603ee", - "type": "class", - "name": "Phase", - "filePath": "src/apprentice/phase_manager.py", - "summary": "class Phase(str, Enum) (src/apprentice/phase_manager.py:36) ## Methods - level(self) -> int", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-5eaaf4cfa4b8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4f900fb9a6c9", - "type": "class", - "name": "PhaseComputationResult", - "filePath": "src/apprentice/phase_manager.py", - "summary": "class PhaseComputationResult(BaseModel) (src/apprentice/phase_manager.py:126)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-60c376ec4e9d", + "target": "code-mod-apprentice-e250f0d85893", + "type": "contains", + "weight": 0.6 }, { - "id": "code-mod-apprentice-9f54b8fd07aa", - "type": "file", - "name": "src/apprentice/unified_interface.py", - "filePath": "src/apprentice/unified_interface.py", - "summary": "Language: Python | Path: src/apprentice/unified_interface.py | ~781 lines ## Classes - Apprentice", - "tags": [ - "code", - "python" - ], - "complexity": 24, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-60c376ec4e9d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9d608fdf05b0", - "type": "class", - "name": "Apprentice", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class Apprentice (src/apprentice/unified_interface.py:299) ## Methods - __aenter__(self)", - "tags": [ - "code", - "python" - ], - "complexity": 7, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-611ffd19ff36", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-dcab078378e4", - "type": "class", - "name": "ApprenticeConfig", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/unified_interface.py:240) ## Methods - to_child_config(self)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-611ffd19ff36", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-31609e1f28be", - "type": "class", - "name": "ConfidenceThresholds", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/unified_interface.py:187) ## Methods - to_child_thresholds(self)", - "tags": [ - "code", - "python" - ], - "complexity": 2, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-6147c6a85b96", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-deb81069b9d1", - "type": "class", - "name": "ErrorKind", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ErrorKind(str, Enum) (src/apprentice/unified_interface.py:68)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-6147c6a85b96", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e5bf304b7389", - "type": "class", - "name": "ModelSource", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ModelSource(str, Enum) (src/apprentice/unified_interface.py:47)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-61c44acb7e99", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-8008c8d921ae", - "type": "class", - "name": "PhaseLabel", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class PhaseLabel(str, Enum) (src/apprentice/unified_interface.py:53)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-61c44acb7e99", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-4d62e8b44290", - "type": "class", - "name": "ResponseMetadata", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class ResponseMetadata(BaseModel) (src/apprentice/unified_interface.py:127)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-61ed476d61c0", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-f915168812d5", - "type": "class", - "name": "RunStatus", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class RunStatus(str, Enum) (src/apprentice/unified_interface.py:61)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-61ed476d61c0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-dd9d69af110f", - "type": "class", - "name": "SystemReport", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class SystemReport(BaseModel) (src/apprentice/unified_interface.py:167)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-62a4f5006de6", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-3660e16f3d4c", - "type": "class", - "name": "TaskConfig", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class TaskConfig(BaseModel) (src/apprentice/unified_interface.py:219) ## Methods - to_child_task_config(self)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-62a4f5006de6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-9759e48c47c5", - "type": "class", - "name": "TaskResponse", - "filePath": "src/apprentice/unified_interface.py", - "summary": "class TaskResponse(BaseModel) (src/apprentice/unified_interface.py:138)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-62b5bf21de9c", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "id": "code-mod-apprentice-ad0541b8a96a", - "type": "file", - "name": "src/apprentice/sampling_scheduler.py", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "Language: Python | Path: src/apprentice/sampling_scheduler.py | ~416 lines ## Classes - AdaptiveSamplingScheduler", - "tags": [ - "code", - "python" - ], - "complexity": 10, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-62b5bf21de9c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-757e883f9d64", - "type": "class", - "name": "AdaptiveSamplingScheduler", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "class AdaptiveSamplingScheduler (src/apprentice/sampling_scheduler.py:272) ## Methods - should_sample(self, snapshot: ConfidenceSnapshot) -> SamplingDecision", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-62b67f726b00", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-fd924eb0d748", - "type": "class", - "name": "DecayFunctionName", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "class DecayFunctionName(str, Enum) (src/apprentice/sampling_scheduler.py:27)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-62b67f726b00", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8d387f6a412f", - "type": "class", - "name": "DecayFunctionParams", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "class DecayFunctionParams(BaseModel) (src/apprentice/sampling_scheduler.py:39) ## Methods - validate_rate(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-62ffddb9ac91", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-764b1358c4e4", - "type": "class", - "name": "SamplingDecision", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "class SamplingDecision(BaseModel) (src/apprentice/sampling_scheduler.py:159) ## Methods - validate_reason(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 3, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-62ffddb9ac91", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-5ade6e1df813", - "type": "class", - "name": "SamplingPhase", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "class SamplingPhase(str, Enum) (src/apprentice/sampling_scheduler.py:19)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-631432820380", + "target": "code-mod-apprentice-99af4df423f2", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-505f6790b4ab", - "type": "class", - "name": "SamplingSchedulerConfig", - "filePath": "src/apprentice/sampling_scheduler.py", - "summary": "class SamplingSchedulerConfig(BaseModel) (src/apprentice/sampling_scheduler.py:83) ## Methods - validate_min_floor(cls, v)", - "tags": [ - "code", - "python" - ], - "complexity": 4, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-631432820380", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-mod-apprentice-bce9535eb9ab", - "type": "file", - "name": "src/apprentice/root/composition.py", - "filePath": "src/apprentice/root/composition.py", - "summary": "Language: Python | Path: src/apprentice/root/composition.py | ~944 lines ## Classes - AllSourcesUnavailableError(Exception)", - "tags": [ - "code", - "python" - ], - "complexity": 30, - "languageNotes": { - "language": "Python", - "kindexType": "artifact", - "toolTier": "C" - } + "direction": "outbound", + "source": "code-sym-apprentice-632156bc17c6", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-b24d9f7a9af4", - "type": "class", - "name": "AllSourcesUnavailableError", - "filePath": "src/apprentice/root/composition.py", - "summary": "class AllSourcesUnavailableError(Exception) (src/apprentice/root/composition.py:143)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-632156bc17c6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-95dce4eccce8", - "type": "class", - "name": "BudgetManager", - "filePath": "src/apprentice/root/composition.py", - "summary": "class BudgetManager (src/apprentice/root/composition.py:269)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-636bea536eea", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-6b7667254f0f", - "type": "class", - "name": "ComponentId", - "filePath": "src/apprentice/root/composition.py", - "summary": "class ComponentId(str, Enum) (src/apprentice/root/composition.py:49)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-636bea536eea", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-94060390f38f", - "type": "class", - "name": "ComponentStatus", - "filePath": "src/apprentice/root/composition.py", - "summary": "class ComponentStatus(str, Enum) (src/apprentice/root/composition.py:40)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-636c0a4eada3", + "target": "code-mod-apprentice-7906e1efa075", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-35da23c435b7", - "type": "class", - "name": "ComponentStatusEntry", - "filePath": "src/apprentice/root/composition.py", - "summary": "class ComponentStatusEntry (src/apprentice/root/composition.py:97)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-636c0a4eada3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-017716b1bd09", - "type": "class", - "name": "ConfidenceEngine", - "filePath": "src/apprentice/root/composition.py", - "summary": "class ConfidenceEngine (src/apprentice/root/composition.py:274)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-644b846ee404", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-6879432b5ee0", - "type": "class", - "name": "FinetuningBackendName", - "filePath": "src/apprentice/root/composition.py", - "summary": "class FinetuningBackendName(str, Enum) (src/apprentice/root/composition.py:62)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-644b846ee404", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-e454bbeaeb40", - "type": "class", - "name": "InitializationError", - "filePath": "src/apprentice/root/composition.py", - "summary": "class InitializationError(Exception) (src/apprentice/root/composition.py:168)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-64d483b85e3a", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-db889184d1d6", - "type": "class", - "name": "InitializationPhase", - "filePath": "src/apprentice/root/composition.py", - "summary": "class InitializationPhase(str, Enum) (src/apprentice/root/composition.py:26)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-64d483b85e3a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-8b41c11f7496", - "type": "class", - "name": "JsonLinesAuditLogger", - "filePath": "src/apprentice/root/composition.py", - "summary": "class JsonLinesAuditLogger (src/apprentice/root/composition.py:284)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-6693abf88ba3", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-b80d96588eea", - "type": "class", - "name": "LifecycleEvent", - "filePath": "src/apprentice/root/composition.py", - "summary": "class LifecycleEvent(str, Enum) (src/apprentice/root/composition.py:70)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-6693abf88ba3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "id": "code-sym-apprentice-25d9d556203c", - "type": "class", - "name": "RequestCorrelation", - "filePath": "src/apprentice/root/composition.py", - "summary": "class RequestCorrelation (src/apprentice/root/composition.py:86)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } + "direction": "outbound", + "source": "code-sym-apprentice-66cbfc07aba2", + "target": "code-mod-apprentice-a3d269d5aae8", + "type": "contains", + "weight": 0.6 }, { - "id": "code-sym-apprentice-e6795e6ba453", - "type": "class", - "name": "Router", - "filePath": "src/apprentice/root/composition.py", - "summary": "class Router (src/apprentice/root/composition.py:279)", - "tags": [ - "code", - "python" - ], - "complexity": 1, - "languageNotes": { - "language": "Python", - "kindexType": "concept", - "toolTier": "" - } - } - ], - "edges": [ - { - "source": "code-mod-apprentice-49890ffd0587", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-66cbfc07aba2", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-90f3611e37ae", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-687107ce0745", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-d1f56cbb4596", - "target": "code-mod-apprentice-a3d269d5aae8", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-687107ce0745", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-d1f56cbb4596", - "target": "code-mod-apprentice-90f3611e37ae", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6879432b5ee0", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-c0e74683670f", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6879432b5ee0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-5aeba9d79e32", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6a1834a340cc", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-2b60fdaaa17c", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6a1834a340cc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-2b60fdaaa17c", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6b512dd031b1", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-0e7125609223", - "target": "code-mod-apprentice-91d05597a213", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6b512dd031b1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-0e7125609223", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6b7667254f0f", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-0e7125609223", - "target": "code-mod-apprentice-302d93954718", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6b7667254f0f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-91d05597a213", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6b925b0f121a", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-921fa79fbb5d", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6b925b0f121a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-302d93954718", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6bc30670b9f2", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-d129ec7b3fe6", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6bc30670b9f2", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-2bf9d68f63ad", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6c87a91539f5", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-0a44add2cd47", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6c87a91539f5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-0a44add2cd47", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6d1ee7b52a58", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-687320155f0f", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6d1ee7b52a58", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-a900b12b40af", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6d41b578aa45", + "target": "code-mod-apprentice-7906e1efa075", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-a900b12b40af", - "target": "code-mod-apprentice-1f9cceef3863", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6d41b578aa45", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-a900b12b40af", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6d4714d3414c", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-dd5d89009dab", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6d4714d3414c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-b5f70562b149", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6dedc69e8195", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-679f57c4c4db", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6dedc69e8195", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-cf878b8f317c", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6e18c5fe3d67", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-7fa8b703f13e", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6e18c5fe3d67", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-2818110a5e2c", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6f291420055a", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-2ddb51ce83da", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6f291420055a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-b627511984c7", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-6fd13b388efb", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-7d6467b32525", - "target": "code-mod-apprentice-91d05597a213", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-6fd13b388efb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-1698980bbd1a", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-7050655a9637", + "target": "code-mod-apprentice-4174c65f149a", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-47cb5b732738", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-7050655a9637", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-sym-apprentice-1f1c402b864e", - "target": "code-mod-apprentice-47cb5b732738", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-706b587e1d66", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-39c3086e4000", - "target": "code-mod-apprentice-47cb5b732738", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-706b587e1d66", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-18e54562cb38", - "target": "code-mod-apprentice-47cb5b732738", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-710af128df4c", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-95deecb4c2fc", - "target": "code-mod-apprentice-b5da1f71cb29", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-710af128df4c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-86a8cdb85c59", - "target": "code-mod-apprentice-b5da1f71cb29", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7132a0c9a123", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1f280475e2a1", - "target": "code-mod-apprentice-4174c65f149a", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7132a0c9a123", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-962e6c58f3aa", - "target": "code-mod-apprentice-b5da1f71cb29", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-71594400434a", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1bc977dc54c4", - "target": "code-mod-apprentice-b5da1f71cb29", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-71594400434a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9dee6fa10312", - "target": "code-mod-apprentice-b5da1f71cb29", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-725e8ea3677d", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ad0effd1d6de", - "target": "code-mod-apprentice-4174c65f149a", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-725e8ea3677d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-4e4bcdd435e4", - "target": "code-mod-apprentice-4174c65f149a", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-728182efed48", + "target": "code-mod-apprentice-e8d0a78f189b", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-7050655a9637", - "target": "code-mod-apprentice-4174c65f149a", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-728182efed48", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b7cdb59274ad", - "target": "code-mod-apprentice-4174c65f149a", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-728f72d01213", + "target": "code-mod-apprentice-f56c09bf9856", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5e43f8c09308", - "target": "code-mod-apprentice-1698980bbd1a", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-728f72d01213", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-ba81bc975c18", - "target": "code-mod-apprentice-1698980bbd1a", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-73a222c32f29", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-9cdf1864bcd3", - "target": "code-mod-apprentice-4174c65f149a", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-73a222c32f29", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9d031e321a28", - "target": "code-mod-apprentice-b627511984c7", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-73f20d6525f9", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ed282445f7e2", - "target": "code-mod-apprentice-b627511984c7", + "direction": "outbound", + "source": "code-sym-apprentice-73f20d6525f9", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", + "weight": 0.5 + }, + { "direction": "outbound", + "source": "code-sym-apprentice-741c2130507b", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-36d0788b3256", - "target": "code-mod-apprentice-7d6467b32525", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-741c2130507b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-df153a561c9c", - "target": "code-mod-apprentice-b627511984c7", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7444f5e506e8", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3eda52a0a4e6", - "target": "code-mod-apprentice-b627511984c7", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7444f5e506e8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-ff31ede95377", - "target": "code-mod-apprentice-b627511984c7", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-747c136cc464", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-82f232151680", - "target": "code-mod-apprentice-99af4df423f2", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-747c136cc464", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d45a1b562911", - "target": "code-mod-apprentice-99af4df423f2", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-757e883f9d64", + "target": "code-mod-apprentice-ad0541b8a96a", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-631432820380", - "target": "code-mod-apprentice-99af4df423f2", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-757e883f9d64", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-81cc5b2105da", - "target": "code-mod-apprentice-99af4df423f2", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-764b1358c4e4", + "target": "code-mod-apprentice-ad0541b8a96a", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-8a4e88b682d9", - "target": "code-mod-apprentice-99af4df423f2", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-764b1358c4e4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-02ffd4562192", - "target": "code-mod-apprentice-ffd91da06870", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-778f2a43df0c", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-9e4b767dd156", - "target": "code-mod-apprentice-ffd91da06870", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-778f2a43df0c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-ea6ff8b3dd58", - "target": "code-mod-apprentice-ffd91da06870", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-78b8c8a02fc8", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a2f09cdca4e6", - "target": "code-mod-apprentice-ec2a8da1caa1", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-78b8c8a02fc8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-12dac1a0e790", - "target": "code-mod-apprentice-ffd91da06870", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-78e342bad5e0", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-81db573e5d1a", - "target": "code-mod-apprentice-ffd91da06870", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-78e342bad5e0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-17ba7228b91f", - "target": "code-mod-apprentice-c977facfc7be", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-79112d4c05c1", + "target": "code-mod-apprentice-f56c09bf9856", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-25b9ce015483", - "target": "code-mod-apprentice-c977facfc7be", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-79112d4c05c1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-87288dc308fd", - "target": "code-mod-apprentice-c977facfc7be", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7bf230b234eb", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-b3e29291aa9d", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7bf230b234eb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9edc9921a451", - "target": "code-mod-apprentice-c977facfc7be", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7c002f4ba77f", + "target": "code-mod-apprentice-7906e1efa075", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-8b197ad2790b", - "target": "code-mod-apprentice-c977facfc7be", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7c002f4ba77f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d5773f8ae5dc", - "target": "code-mod-apprentice-c977facfc7be", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7d32d338e6eb", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-725e8ea3677d", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7d32d338e6eb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-fe1f80238d8e", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7d9f7e248228", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-17fb3330f13d", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7d9f7e248228", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b2c94b0e8294", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7da358622aaa", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-fab197e06f5f", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7da358622aaa", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b39a87004f47", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7e1cb5d6a139", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a8203f5dbf19", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7e1cb5d6a139", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e88b6535591a", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7e766569c924", + "target": "code-mod-apprentice-d1f56cbb4596", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3bac50e4ae72", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7e766569c924", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8ffbb99f9d53", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7ec1c4233e12", + "target": "code-mod-apprentice-778f4e5a0cd4", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ca1c1c6e3e90", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7ec1c4233e12", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-64d483b85e3a", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7ecc71f31ff3", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-93ecd5210ccc", - "target": "code-mod-apprentice-f56c09bf9856", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7ecc71f31ff3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-728f72d01213", - "target": "code-mod-apprentice-f56c09bf9856", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-7f0c4096ad31", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-79112d4c05c1", - "target": "code-mod-apprentice-f56c09bf9856", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-7f0c4096ad31", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-029aea655dc7", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8008c8d921ae", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-41de3b187a11", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8008c8d921ae", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0f592853d09e", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8031f32be9e2", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3c1a44c9510b", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8031f32be9e2", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-4e0b8ee0ac6f", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-81cc5b2105da", + "target": "code-mod-apprentice-99af4df423f2", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ebddf85b55c4", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-81cc5b2105da", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-3a7787fcfec1", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-81db573e5d1a", + "target": "code-mod-apprentice-ffd91da06870", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1bb6e75c2c8f", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-81db573e5d1a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9ab08d72e5ef", - "target": "code-mod-apprentice-7fa8b703f13e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-82a273309016", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a8a9a15dce84", - "target": "code-mod-apprentice-7fa8b703f13e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-82a273309016", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-52f9571b95d5", - "target": "code-mod-apprentice-594207c53b32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-82f232151680", + "target": "code-mod-apprentice-99af4df423f2", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-50668ace6850", - "target": "code-mod-apprentice-7fa8b703f13e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-82f232151680", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-53d498396397", - "target": "code-mod-apprentice-7fa8b703f13e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-839d71ca4653", + "target": "code-mod-apprentice-679f57c4c4db", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f8c886701c47", - "target": "code-mod-apprentice-7fa8b703f13e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-839d71ca4653", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-caa6afa0bc0f", - "target": "code-mod-apprentice-7fa8b703f13e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-83d0ec9b127e", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-31238733194f", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-83d0ec9b127e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e96a8e6cd9c9", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-84df39a1c8c4", + "target": "code-mod-apprentice-921fa79fbb5d", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-e55359ca8e87", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-84df39a1c8c4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-fb1ebaf433bc", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-854586bac930", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-4ae2d5ceee67", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-854586bac930", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-5dff024d186c", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-85bf5cf3d577", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-8c4965f3382d", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-85bf5cf3d577", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-a34d2d0e39ed", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-86a8cdb85c59", + "target": "code-mod-apprentice-b5da1f71cb29", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-9c3a893bfd00", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-86a8cdb85c59", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e9a0987115ed", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-87095b604092", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3228a47ce933", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-87095b604092", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-78b8c8a02fc8", - "target": "code-mod-apprentice-cf878b8f317c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-87288dc308fd", + "target": "code-mod-apprentice-c977facfc7be", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-4bd096f2f039", - "target": "code-mod-apprentice-778f4e5a0cd4", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-87288dc308fd", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-7ec1c4233e12", - "target": "code-mod-apprentice-778f4e5a0cd4", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-875af9ecac9f", + "target": "code-mod-apprentice-a900b12b40af", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-d9c6360da895", - "target": "code-mod-apprentice-778f4e5a0cd4", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-875af9ecac9f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-bfad146df017", - "target": "code-mod-apprentice-778f4e5a0cd4", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8782ce1b0e09", + "target": "code-mod-apprentice-b5f70562b149", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ca61d298adf3", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8782ce1b0e09", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-839d71ca4653", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-88ca8a5da63c", + "target": "code-mod-apprentice-e250f0d85893", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-39bf8ac3f2c5", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-88ca8a5da63c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-db7bbded7d74", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-88e7b6d6a4d3", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-fec79c74b17b", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-88e7b6d6a4d3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d2c833993228", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-892f600a6388", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a8eae2ebdcb9", - "target": "code-mod-apprentice-679f57c4c4db", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-892f600a6388", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-a8d2e0b1841b", - "target": "code-mod-apprentice-b5f70562b149", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-89e94aedfa10", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ab67aa43f52e", - "target": "code-mod-apprentice-b5f70562b149", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-89e94aedfa10", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b7b853da0cd6", - "target": "code-mod-apprentice-b5f70562b149", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8a4e88b682d9", + "target": "code-mod-apprentice-99af4df423f2", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-8782ce1b0e09", - "target": "code-mod-apprentice-b5f70562b149", + "direction": "outbound", + "source": "code-sym-apprentice-8a4e88b682d9", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", + "weight": 0.5 + }, + { "direction": "outbound", + "source": "code-sym-apprentice-8a5d4de5295c", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ebb56c805e06", - "target": "code-mod-apprentice-b5f70562b149", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8a5d4de5295c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e600dc2dafbb", - "target": "code-mod-apprentice-b5f70562b149", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8a7a4d0675a8", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2bffa89e7961", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8a7a4d0675a8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-12da83323923", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8b197ad2790b", + "target": "code-mod-apprentice-c977facfc7be", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f387336f9785", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8b197ad2790b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9feda4a0872c", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8b40c753a8fa", + "target": "code-mod-apprentice-a3d269d5aae8", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-fb13d3e6da7c", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8b40c753a8fa", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-5a8caff7c6b8", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8b41c11f7496", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f70272e3ccae", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8b41c11f7496", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d533f8ea7f35", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8bf6e17d9c23", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-6e18c5fe3d67", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8bf6e17d9c23", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-49b6368a2950", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8c4965f3382d", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-7d32d338e6eb", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8c4965f3382d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-3e22697d494a", - "target": "code-mod-apprentice-dd5d89009dab", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8caa4631ab89", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-e2f1aaecdc7a", - "target": "code-mod-apprentice-a900b12b40af", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8caa4631ab89", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-592fd9973445", - "target": "code-mod-apprentice-a900b12b40af", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8d387f6a412f", + "target": "code-mod-apprentice-ad0541b8a96a", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1bbf74ee8835", - "target": "code-mod-apprentice-a900b12b40af", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8d387f6a412f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-875af9ecac9f", - "target": "code-mod-apprentice-a900b12b40af", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8d6189681c62", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1fe81f0471af", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8d6189681c62", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-c7320e4121ee", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8ea685645235", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-548e78fbb0f3", - "target": "code-mod-apprentice-a900b12b40af", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8ea685645235", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-40f21272e4f8", - "target": "code-mod-apprentice-a900b12b40af", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8ed426b2d6e0", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-c890afedab4c", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8ed426b2d6e0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-6693abf88ba3", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8ff0332174af", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-61c44acb7e99", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8ff0332174af", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-644b846ee404", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8ff35e1c27d0", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3754794d8a6a", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8ff35e1c27d0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-522cf079a72b", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-8ffbb99f9d53", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-7ecc71f31ff3", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-8ffbb99f9d53", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9ddf26c9c2ec", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-90d68cf5ca50", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-403f24c961e2", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-90d68cf5ca50", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-1791ab5c6629", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-90e5dfd17392", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1e08368cbe7a", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-90e5dfd17392", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-5a90f557eac7", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-90f1d655925f", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3287f35dc25d", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-90f1d655925f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-bdf6b2dba77a", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-911078fb2a31", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-6bc30670b9f2", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-911078fb2a31", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-fa42470c44a1", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-928023b0c9de", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-8ff35e1c27d0", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-928023b0c9de", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-62ffddb9ac91", - "target": "code-mod-apprentice-687320155f0f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-93665802ae17", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-c632239515b1", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-93665802ae17", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-475f20b819b7", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-93ecd5210ccc", + "target": "code-mod-apprentice-f56c09bf9856", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-511dc840eddb", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-93ecd5210ccc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e2daa50de8fa", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-94060390f38f", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-47e640b1e2dc", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-94060390f38f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-7444f5e506e8", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-94d0ca18d31c", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f20bb1e90ccb", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-94d0ca18d31c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-710af128df4c", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-95dce4eccce8", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3a21c5da5d82", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-95dce4eccce8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-00955f35f232", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-95deecb4c2fc", + "target": "code-mod-apprentice-b5da1f71cb29", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-8ed426b2d6e0", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-95deecb4c2fc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-f88bc6a42b6c", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-962e6c58f3aa", + "target": "code-mod-apprentice-b5da1f71cb29", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-928023b0c9de", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-962e6c58f3aa", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-2dfa6cdd354f", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-96ebf4a7443c", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a038a04b6626", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-96ebf4a7443c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-82a273309016", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-970d0cc4d9bf", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-c6d9928165b7", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-970d0cc4d9bf", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-30f691eb5f9e", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9759e48c47c5", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-6f291420055a", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9759e48c47c5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-6dedc69e8195", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-97c3f293355c", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2f904b46c6d2", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-97c3f293355c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0c7d6dff15ca", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-97d6d5170c76", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-9ebe06fb2e38", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-97d6d5170c76", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-99adebe04b73", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-98930e20788c", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5a90ec2f6722", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-98930e20788c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-89e94aedfa10", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-98c63ca32a6b", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-eaebc816d5c0", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-98c63ca32a6b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8a7a4d0675a8", + "direction": "outbound", + "source": "code-sym-apprentice-99adebe04b73", "target": "code-mod-apprentice-2bf9d68f63ad", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-d5de0a2a72f0", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-99adebe04b73", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-90e5dfd17392", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9ab08d72e5ef", + "target": "code-mod-apprentice-7fa8b703f13e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-21aaadb6b4e1", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9ab08d72e5ef", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-a9bca4d3aaf8", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9b0bdd747c57", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5a821ca27360", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9b0bdd747c57", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-ad3fbc2a8140", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9bc8254f40c1", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-054f45358d09", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9bc8254f40c1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-ec63e5bb5f90", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9c3a893bfd00", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-e0b8f40d7893", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9c3a893bfd00", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b422a8210014", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9cdf1864bcd3", + "target": "code-mod-apprentice-4174c65f149a", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-85bf5cf3d577", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9cdf1864bcd3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-87095b604092", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9d031e321a28", + "target": "code-mod-apprentice-b627511984c7", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-adbf3c348485", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9d031e321a28", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-a1c22781f5c1", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9d608fdf05b0", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-252dbbaa4788", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9d608fdf05b0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-dcbb1698157d", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9ddf26c9c2ec", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2d4b84405910", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9ddf26c9c2ec", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-be67fca5c732", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9dee6fa10312", + "target": "code-mod-apprentice-b5da1f71cb29", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1399284bfac1", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9dee6fa10312", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8bf6e17d9c23", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9e4b767dd156", + "target": "code-mod-apprentice-ffd91da06870", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-41bd38128171", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9e4b767dd156", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-2dffb4b84955", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9ea61c5c45e1", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-4ba2c0bdf563", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9ea61c5c45e1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8031f32be9e2", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9ebe06fb2e38", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-94d0ca18d31c", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9ebe06fb2e38", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e59c0fd9f07c", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9ed747ed9d2e", + "target": "code-mod-apprentice-d1f56cbb4596", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-c842611b6140", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9ed747ed9d2e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8ea685645235", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9edc9921a451", + "target": "code-mod-apprentice-c977facfc7be", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-62a4f5006de6", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9edc9921a451", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d30d23b34252", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9f03cb5fe5ef", + "target": "code-mod-apprentice-e8d0a78f189b", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1037e30b4324", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9f03cb5fe5ef", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0b2afe61b3c6", - "target": "code-mod-apprentice-d129ec7b3fe6", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-9feda4a0872c", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-6d1ee7b52a58", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-9feda4a0872c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-7e1cb5d6a139", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a038a04b6626", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-118093fca7d0", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a038a04b6626", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-73a222c32f29", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a1066cbd8043", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-4e775377d379", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a1066cbd8043", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-fc480003b913", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a1345a5a251d", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-6147c6a85b96", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a1345a5a251d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b7d3c197f611", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a1c22781f5c1", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-8a5d4de5295c", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a1c22781f5c1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-778f2a43df0c", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a2f09cdca4e6", + "target": "code-mod-apprentice-ec2a8da1caa1", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-d78b9615213a", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a2f09cdca4e6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8d6189681c62", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a302728cf893", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-b4c4a061f3df", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a302728cf893", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-43a24fc5a7ce", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a34d2d0e39ed", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-176db411e310", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a34d2d0e39ed", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-decc9a19bad9", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a4a4fb554963", + "target": "code-mod-apprentice-1f9cceef3863", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-62b5bf21de9c", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a4a4fb554963", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-01820b96b54c", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a5255184f43a", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f605871cbe7b", - "target": "code-mod-apprentice-302d93954718", + "direction": "outbound", + "source": "code-sym-apprentice-a5255184f43a", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", + "weight": 0.5 + }, + { "direction": "outbound", + "source": "code-sym-apprentice-a7c0e2961c86", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-611ffd19ff36", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a7c0e2961c86", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0ccd87e116b8", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a8203f5dbf19", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3473fb60bdc0", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a8203f5dbf19", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-c1eca63623fa", - "target": "code-mod-apprentice-a3d269d5aae8", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a8a9a15dce84", + "target": "code-mod-apprentice-7fa8b703f13e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-c611719d605f", - "target": "code-mod-apprentice-302d93954718", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a8a9a15dce84", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8b40c753a8fa", - "target": "code-mod-apprentice-a3d269d5aae8", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a8d2e0b1841b", + "target": "code-mod-apprentice-b5f70562b149", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-66cbfc07aba2", - "target": "code-mod-apprentice-a3d269d5aae8", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a8d2e0b1841b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-1eba5b2c0c22", - "target": "code-mod-apprentice-a3d269d5aae8", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a8eae2ebdcb9", + "target": "code-mod-apprentice-679f57c4c4db", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-7c002f4ba77f", - "target": "code-mod-apprentice-7906e1efa075", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a8eae2ebdcb9", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-6d41b578aa45", - "target": "code-mod-apprentice-7906e1efa075", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-a9bca4d3aaf8", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-636c0a4eada3", - "target": "code-mod-apprentice-7906e1efa075", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-a9bca4d3aaf8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0a2b0b09c17b", - "target": "code-mod-apprentice-7906e1efa075", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-aab00d9d5301", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-29169cd6501c", - "target": "code-mod-apprentice-7906e1efa075", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-aab00d9d5301", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-f3e06b5c9729", - "target": "code-mod-apprentice-e8d0a78f189b", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-aad946f77a7c", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f6eb83301ce8", - "target": "code-mod-apprentice-e8d0a78f189b", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-aad946f77a7c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e24576be3b1b", - "target": "code-mod-apprentice-7906e1efa075", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ab67aa43f52e", + "target": "code-mod-apprentice-b5f70562b149", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-0a5a43caafb7", - "target": "code-mod-apprentice-7906e1efa075", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ab67aa43f52e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-137554362c9f", - "target": "code-mod-apprentice-e8d0a78f189b", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ab843d6844ca", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-728182efed48", - "target": "code-mod-apprentice-e8d0a78f189b", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ab843d6844ca", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9f03cb5fe5ef", - "target": "code-mod-apprentice-e8d0a78f189b", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ad0effd1d6de", + "target": "code-mod-apprentice-4174c65f149a", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-469d95b4c761", - "target": "code-mod-apprentice-e8d0a78f189b", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ad0effd1d6de", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-3d45a761f68e", - "target": "code-mod-apprentice-921fa79fbb5d", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ad3fbc2a8140", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-84df39a1c8c4", - "target": "code-mod-apprentice-921fa79fbb5d", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ad3fbc2a8140", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-21013ff39348", - "target": "code-mod-apprentice-e8d0a78f189b", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-adbf3c348485", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-90d68cf5ca50", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-adbf3c348485", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-281f697001fc", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b0f5893be3fe", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-bb118750eaef", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b0f5893be3fe", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-edd360947820", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b1bef74ff18d", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-116fae85271c", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b1bef74ff18d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0f8fce43fc85", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b24d9f7a9af4", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-aab00d9d5301", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b24d9f7a9af4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-59cc03a1a6d6", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b2c94b0e8294", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-7bf230b234eb", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b2c94b0e8294", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d36748a99a9f", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b39a87004f47", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-c07d98abbdc9", - "target": "code-mod-apprentice-91d05597a213", + "direction": "outbound", + "source": "code-sym-apprentice-b39a87004f47", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", + "weight": 0.5 + }, + { "direction": "outbound", + "source": "code-sym-apprentice-b3e29291aa9d", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2da52d120ca7", - "target": "code-mod-apprentice-91d05597a213", + "direction": "outbound", + "source": "code-sym-apprentice-b3e29291aa9d", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", + "weight": 0.5 + }, + { "direction": "outbound", + "source": "code-sym-apprentice-b422a8210014", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-7132a0c9a123", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b422a8210014", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { + "direction": "outbound", "source": "code-sym-apprentice-b43b2ae2777e", "target": "code-mod-apprentice-91d05597a213", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-c0778853b440", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b43b2ae2777e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-97c3f293355c", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b4469870a778", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-90f1d655925f", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b4469870a778", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0052752c7470", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b4c4a061f3df", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-42230c0357ac", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b4c4a061f3df", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-7f0c4096ad31", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b647e4598918", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-52826499577a", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b647e4598918", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-28e317b3bef5", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b7b853da0cd6", + "target": "code-mod-apprentice-b5f70562b149", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1685f5d08e13", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b7b853da0cd6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-a5255184f43a", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b7cdb59274ad", + "target": "code-mod-apprentice-4174c65f149a", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-6c87a91539f5", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b7cdb59274ad", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-33a41f115b3f", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b7d3c197f611", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1bb7790bf47f", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b7d3c197f611", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-741c2130507b", - "target": "code-mod-apprentice-91d05597a213", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b80d96588eea", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-970d0cc4d9bf", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b80d96588eea", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-83d0ec9b127e", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-b92524d7ef57", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-12bb73991f48", - "target": "code-mod-apprentice-0e7125609223", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-b92524d7ef57", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-4a7fcc5b33cd", + "direction": "outbound", + "source": "code-sym-apprentice-ba09138e9ebc", "target": "code-mod-apprentice-2b60fdaaa17c", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-ca8ac279c69a", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ba09138e9ebc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-71594400434a", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ba5560be1dba", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-588d249a6949", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ba5560be1dba", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d9e053a33e38", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ba81bc975c18", + "target": "code-mod-apprentice-1698980bbd1a", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a7c0e2961c86", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ba81bc975c18", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b647e4598918", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-bb118750eaef", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5e9826a02974", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-bb118750eaef", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-46fc2a3ba228", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-bcae2e3ed0cf", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-61ed476d61c0", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-bcae2e3ed0cf", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-02b8cda2b167", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-bd613f7dcbef", + "target": "code-mod-apprentice-e250f0d85893", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-ba09138e9ebc", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-bd613f7dcbef", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-cac3b741cb3a", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-bd6737af8b65", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-370f778d5b34", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-bd6737af8b65", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d6f1460f0624", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-bdf6b2dba77a", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-6d4714d3414c", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-bdf6b2dba77a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-cb046538b4a7", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-be55dd5f5676", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-fe84e8be6c95", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-be55dd5f5676", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-687107ce0745", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-be67fca5c732", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2f3c451f27da", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-be67fca5c732", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-435caae2fed3", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-be71e7d1dcb4", + "target": "code-mod-apprentice-e250f0d85893", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5db84766697d", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-be71e7d1dcb4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-2250fa629391", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-bfad146df017", + "target": "code-mod-apprentice-778f4e5a0cd4", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-36637edc4245", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-bfad146df017", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-282fa07acc28", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 - }, - { - "source": "code-sym-apprentice-ec48bc0862bb", - "target": "code-mod-apprentice-5aeba9d79e32", + "source": "code-sym-apprentice-bfda6dbc4759", + "target": "code-mod-apprentice-a2fa0f4c007f", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-892f600a6388", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-bfda6dbc4759", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-4bbb5b609cf7", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c0778853b440", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-451391f1ce68", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c0778853b440", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-78e342bad5e0", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c07d98abbdc9", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-583a9b73e482", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c07d98abbdc9", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d7c232925557", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c13a7c1d3558", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-53fcb8c4a476", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c13a7c1d3558", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-109ed9bbd35d", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c1eca63623fa", + "target": "code-mod-apprentice-a3d269d5aae8", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-0990e83f6fa3", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c1eca63623fa", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-eecb4874144d", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c328d5ff87db", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f15e0dbbc79b", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c328d5ff87db", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d43087c634ac", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c45a5a2d03c8", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2baf16d0ed1b", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c45a5a2d03c8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d6d62e018e90", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c55deadf6133", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-fecb991faa3a", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c55deadf6133", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-515c25946f55", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c611719d605f", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-e77c66697f35", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c611719d605f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-07e2b98f82e5", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c632239515b1", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-636bea536eea", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c632239515b1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0ff066a3771e", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c6d9928165b7", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-dcedf53f2d6a", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c6d9928165b7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9ed747ed9d2e", - "target": "code-mod-apprentice-d1f56cbb4596", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c7320e4121ee", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-192ed3d8bd55", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c7320e4121ee", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-559f89ea592e", - "target": "code-mod-apprentice-c0e74683670f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c7f9d18376e6", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-49ca55ec0d1e", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c7f9d18376e6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-7e766569c924", - "target": "code-mod-apprentice-d1f56cbb4596", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c842611b6140", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-f3f1a69a2aed", - "target": "code-mod-apprentice-d1f56cbb4596", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c842611b6140", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-7da358622aaa", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-c890afedab4c", + "target": "code-mod-apprentice-687320155f0f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-13d3cef376c6", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-c890afedab4c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e1e4bb4d841c", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ca1c1c6e3e90", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-93665802ae17", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ca1c1c6e3e90", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-1146d58607f4", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ca61d298adf3", + "target": "code-mod-apprentice-679f57c4c4db", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5ea6e90a3f1d", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ca61d298adf3", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8caa4631ab89", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-ca8ac279c69a", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-32c1a3269918", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-ca8ac279c69a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-37a1eb566f1e", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-caa6afa0bc0f", + "target": "code-mod-apprentice-7fa8b703f13e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-d7b699fb8c6f", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-caa6afa0bc0f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-5951023f634e", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-cac3b741cb3a", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-06a5682b61b8", - "target": "code-mod-apprentice-bbfebc12095e", - "type": "contains", "direction": "outbound", - "weight": 0.6 - }, - { - "source": "code-sym-apprentice-2d6251043c69", - "target": "code-mod-apprentice-bbfebc12095e", + "source": "code-sym-apprentice-cac3b741cb3a", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", - "direction": "outbound", - "weight": 0.6 + "weight": 0.5 }, { - "source": "code-sym-apprentice-b4469870a778", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", - "weight": 0.6 - }, - { - "source": "code-sym-apprentice-03d1c2bf4c9a", - "target": "code-mod-apprentice-49890ffd0587", + "source": "code-sym-apprentice-cb046538b4a7", + "target": "code-mod-apprentice-5aeba9d79e32", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-3bb3a00b8546", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-cb046538b4a7", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-54a48f4345e7", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-cb14eee6d598", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-e91b76ea4a2d", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-cb14eee6d598", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-0ce3b2ff65f0", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-cb30731509fd", + "target": "code-mod-apprentice-a2fa0f4c007f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-854586bac930", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-cb30731509fd", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-5b9199492bae", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-cb64540662c0", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-be55dd5f5676", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-cb64540662c0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { + "direction": "outbound", "source": "code-sym-apprentice-cdfd4d9fc822", "target": "code-mod-apprentice-49890ffd0587", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-aad946f77a7c", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-cdfd4d9fc822", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-c13a7c1d3558", - "target": "code-mod-apprentice-49890ffd0587", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-cfd01bb7cba8", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", "weight": 0.6 }, { - "source": "code-mod-apprentice-8cb1418b8ce0", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-cfd01bb7cba8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-8cb1418b8ce0", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 - }, - { - "source": "code-sym-apprentice-33939f79dc0f", - "target": "code-mod-apprentice-8cb1418b8ce0", + "source": "code-sym-apprentice-d238b4ce07a4", + "target": "code-mod-apprentice-d9632c802373", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-0b7adcddcfd0", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-d238b4ce07a4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-205de453a6ab", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d2c833993228", + "target": "code-mod-apprentice-679f57c4c4db", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1b5c3962a21b", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-d2c833993228", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-6fd13b388efb", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d30d23b34252", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-98930e20788c", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-d30d23b34252", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-eb7b092ffabc", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d36748a99a9f", + "target": "code-mod-apprentice-91d05597a213", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-bcae2e3ed0cf", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-d36748a99a9f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-3152f3f3068c", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d40b48d429ba", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-4873042120ee", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-d40b48d429ba", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-c328d5ff87db", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d43087c634ac", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a1066cbd8043", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-d43087c634ac", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-5987c09cf27e", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d431b536422e", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-a302728cf893", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-d431b536422e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-f374aa34e81f", - "target": "code-mod-apprentice-8cb1418b8ce0", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d45a1b562911", + "target": "code-mod-apprentice-99af4df423f2", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-e64910957d85", - "target": "code-mod-apprentice-8cb1418b8ce0", + "direction": "outbound", + "source": "code-sym-apprentice-d45a1b562911", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", + "weight": 0.5 + }, + { "direction": "outbound", + "source": "code-sym-apprentice-d533f8ea7f35", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", "weight": 0.6 }, { - "source": "code-mod-apprentice-db3d0c1a6fce", - "target": "code-mod-apprentice-49890ffd0587", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-d533f8ea7f35", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-db3d0c1a6fce", - "target": "code-mod-apprentice-2bf9d68f63ad", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-d5773f8ae5dc", + "target": "code-mod-apprentice-c977facfc7be", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-db3d0c1a6fce", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-d5773f8ae5dc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-sym-apprentice-29d005e51098", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d5de0a2a72f0", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-1738fd71da32", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d5de0a2a72f0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-cb30731509fd", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d6d62e018e90", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-cb30731509fd", - "target": "code-sym-apprentice-cb14eee6d598", - "type": "related", "direction": "outbound", - "weight": 0.0108 - }, - { - "source": "code-sym-apprentice-cb14eee6d598", - "target": "code-mod-apprentice-9f54b8fd07aa", + "source": "code-sym-apprentice-d6d62e018e90", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.5 }, { - "source": "code-sym-apprentice-cb14eee6d598", - "target": "code-sym-apprentice-cb30731509fd", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d6f1460f0624", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-d238b4ce07a4", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d6f1460f0624", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-09abc8002a4e", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d78b9615213a", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-09abc8002a4e", - "target": "code-sym-apprentice-7d9f7e248228", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d78b9615213a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-2dca87d1880a", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d7b699fb8c6f", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2dca87d1880a", - "target": "code-sym-apprentice-d40b48d429ba", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d7b699fb8c6f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-d40b48d429ba", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d7c232925557", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-d40b48d429ba", - "target": "code-sym-apprentice-2dca87d1880a", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d7c232925557", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-7d9f7e248228", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d8cc2b65cacb", + "target": "code-mod-apprentice-ad0541b8a96a", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-7d9f7e248228", - "target": "code-sym-apprentice-09abc8002a4e", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d8cc2b65cacb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-a1345a5a251d", - "target": "code-mod-apprentice-bce9535eb9ab", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d9a3160e0089", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-a1345a5a251d", - "target": "code-sym-apprentice-ba5560be1dba", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d9a3160e0089", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-ba5560be1dba", - "target": "code-mod-apprentice-bce9535eb9ab", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d9c6360da895", + "target": "code-mod-apprentice-778f4e5a0cd4", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-ba5560be1dba", - "target": "code-sym-apprentice-a1345a5a251d", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d9c6360da895", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-c7f9d18376e6", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-d9e053a33e38", + "target": "code-mod-apprentice-2b60fdaaa17c", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-c7f9d18376e6", - "target": "code-sym-apprentice-32b9259abbbe", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-d9e053a33e38", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-4440ba039f76", + "direction": "outbound", + "source": "code-sym-apprentice-da71582fad25", "target": "code-mod-apprentice-a2fa0f4c007f", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-4440ba039f76", - "target": "code-sym-apprentice-3252dd4c3e6c", - "type": "related", "direction": "outbound", - "weight": 0.0108 - }, - { - "source": "code-sym-apprentice-32b9259abbbe", - "target": "code-mod-apprentice-9f54b8fd07aa", + "source": "code-sym-apprentice-da71582fad25", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.5 }, { - "source": "code-sym-apprentice-32b9259abbbe", - "target": "code-sym-apprentice-c7f9d18376e6", - "type": "related", "direction": "outbound", - "weight": 0.0108 - }, - { - "source": "code-sym-apprentice-3252dd4c3e6c", - "target": "code-mod-apprentice-9f54b8fd07aa", + "source": "code-sym-apprentice-daf474aebab5", + "target": "code-mod-apprentice-e250f0d85893", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.6 }, { - "source": "code-sym-apprentice-3252dd4c3e6c", - "target": "code-sym-apprentice-4440ba039f76", - "type": "related", "direction": "outbound", - "weight": 0.0108 - }, - { - "source": "code-sym-apprentice-f2b35f69af41", - "target": "code-mod-apprentice-9f54b8fd07aa", + "source": "code-sym-apprentice-daf474aebab5", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.5 }, { - "source": "code-sym-apprentice-f2b35f69af41", - "target": "code-sym-apprentice-d8cc2b65cacb", - "type": "related", "direction": "outbound", - "weight": 0.0108 - }, - { - "source": "code-sym-apprentice-d8cc2b65cacb", - "target": "code-mod-apprentice-ad0541b8a96a", + "source": "code-sym-apprentice-db7bbded7d74", + "target": "code-mod-apprentice-679f57c4c4db", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.6 }, { - "source": "code-sym-apprentice-d8cc2b65cacb", - "target": "code-sym-apprentice-f2b35f69af41", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-db7bbded7d74", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-mod-apprentice-e250f0d85893", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-db889184d1d6", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-e250f0d85893", - "target": "code-mod-apprentice-91d05597a213", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-db889184d1d6", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-sym-apprentice-bd613f7dcbef", - "target": "code-mod-apprentice-e250f0d85893", - "type": "contains", "direction": "outbound", - "weight": 0.6 - }, - { - "source": "code-sym-apprentice-daf474aebab5", - "target": "code-mod-apprentice-e250f0d85893", + "source": "code-sym-apprentice-dcab078378e4", + "target": "code-mod-apprentice-9f54b8fd07aa", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { - "source": "code-sym-apprentice-60c376ec4e9d", - "target": "code-mod-apprentice-e250f0d85893", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-dcab078378e4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-88ca8a5da63c", - "target": "code-mod-apprentice-e250f0d85893", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-dcbb1698157d", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-e70f423f4c56", - "target": "code-mod-apprentice-e250f0d85893", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-dcbb1698157d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-be71e7d1dcb4", - "target": "code-mod-apprentice-e250f0d85893", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-dcedf53f2d6a", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-3b691d01dec7", - "target": "code-mod-apprentice-e250f0d85893", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-dcedf53f2d6a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-3619a577f48a", + "direction": "outbound", + "source": "code-sym-apprentice-dceed7ed31ac", "target": "code-mod-apprentice-a2fa0f4c007f", "type": "contains", - "direction": "outbound", "weight": 0.6 }, { + "direction": "outbound", "source": "code-sym-apprentice-dceed7ed31ac", - "target": "code-mod-apprentice-a2fa0f4c007f", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", - "direction": "outbound", - "weight": 0.6 + "weight": 0.5 }, { - "source": "code-sym-apprentice-b0f5893be3fe", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-dd9d69af110f", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-9bc8254f40c1", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-dd9d69af110f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-2b56c0e1a8b1", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-deb81069b9d1", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-b1bef74ff18d", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-deb81069b9d1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-da71582fad25", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-decc9a19bad9", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5160652faa5d", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-decc9a19bad9", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-96ebf4a7443c", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-df153a561c9c", + "target": "code-mod-apprentice-b627511984c7", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-5d6180056bca", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-df153a561c9c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-2388cd096cd3", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-e0b8f40d7893", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-2edae8522463", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-e0b8f40d7893", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-f730d7e5cd0d", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-e1e4bb4d841c", + "target": "code-mod-apprentice-bbfebc12095e", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-4907659c592a", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-e1e4bb4d841c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-3c6f10e1efdb", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-e24576be3b1b", + "target": "code-mod-apprentice-7906e1efa075", + "type": "contains", "weight": 0.6 }, { - "source": "code-sym-apprentice-b92524d7ef57", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", - "weight": 0.6 + "source": "code-sym-apprentice-e24576be3b1b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-bfda6dbc4759", - "target": "code-mod-apprentice-a2fa0f4c007f", - "type": "contains", "direction": "outbound", + "source": "code-sym-apprentice-e2daa50de8fa", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", "weight": 0.6 }, { - "source": "code-mod-apprentice-d9632c802373", - "target": "code-mod-apprentice-5aeba9d79e32", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-e2daa50de8fa", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-d9632c802373", - "target": "code-mod-apprentice-0a44add2cd47", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 - }, - { - "source": "code-sym-apprentice-54c1688565f5", - "target": "code-mod-apprentice-d9632c802373", + "source": "code-sym-apprentice-e2f1aaecdc7a", + "target": "code-mod-apprentice-a900b12b40af", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.6 }, { - "source": "code-sym-apprentice-62b67f726b00", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 - }, - { - "source": "code-sym-apprentice-d431b536422e", - "target": "code-mod-apprentice-d9632c802373", + "source": "code-sym-apprentice-e2f1aaecdc7a", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.5 }, { - "source": "code-sym-apprentice-51d30639b8ca", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 - }, - { - "source": "code-sym-apprentice-ab843d6844ca", - "target": "code-mod-apprentice-d9632c802373", + "source": "code-sym-apprentice-e454bbeaeb40", + "target": "code-mod-apprentice-bce9535eb9ab", "type": "contains", - "direction": "outbound", - "weight": 0.0108 + "weight": 0.6 }, { - "source": "code-sym-apprentice-3c4cd175f7ce", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e454bbeaeb40", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-c45a5a2d03c8", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e55359ca8e87", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-97d6d5170c76", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e55359ca8e87", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-25fe10311538", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e59c0fd9f07c", + "target": "code-mod-apprentice-d129ec7b3fe6", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-ff1dde397ead", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e59c0fd9f07c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9ea61c5c45e1", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e5bf304b7389", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-f32104e62ac6", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e5bf304b7389", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-3e4db604c1ca", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e600dc2dafbb", + "target": "code-mod-apprentice-b5f70562b149", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-53f89a74212e", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e600dc2dafbb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-911078fb2a31", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e64910957d85", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-25867fd21bea", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e64910957d85", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8ff0332174af", - "target": "code-mod-apprentice-d9632c802373", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e6795e6ba453", + "target": "code-mod-apprentice-bce9535eb9ab", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-1f9cceef3863", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-e6795e6ba453", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-sym-apprentice-6b512dd031b1", - "target": "code-mod-apprentice-1f9cceef3863", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e70f423f4c56", + "target": "code-mod-apprentice-e250f0d85893", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-f137e82a9ecf", - "target": "code-mod-apprentice-1f9cceef3863", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e70f423f4c56", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-88e7b6d6a4d3", - "target": "code-mod-apprentice-1f9cceef3863", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e738cdc00161", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-1a7b73d603ee", - "target": "code-mod-apprentice-1f9cceef3863", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e738cdc00161", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-4f900fb9a6c9", - "target": "code-mod-apprentice-1f9cceef3863", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e77c66697f35", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-9f54b8fd07aa", - "target": "code-mod-apprentice-c0e74683670f", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-e77c66697f35", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-9f54b8fd07aa", + "direction": "outbound", + "source": "code-sym-apprentice-e88b6535591a", "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", + "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", + "source": "code-sym-apprentice-e88b6535591a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-mod-apprentice-9f54b8fd07aa", - "target": "code-mod-apprentice-2b60fdaaa17c", - "type": "depends_on", "direction": "outbound", - "weight": 0.5 + "source": "code-sym-apprentice-e91b76ea4a2d", + "target": "code-mod-apprentice-49890ffd0587", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-9f54b8fd07aa", - "target": "code-mod-apprentice-7d6467b32525", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-e91b76ea4a2d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-sym-apprentice-9d608fdf05b0", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e96a8e6cd9c9", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-dcab078378e4", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e96a8e6cd9c9", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-31609e1f28be", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e9a0987115ed", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-deb81069b9d1", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-e9a0987115ed", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e5bf304b7389", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-ea6ff8b3dd58", + "target": "code-mod-apprentice-ffd91da06870", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-8008c8d921ae", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-ea6ff8b3dd58", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-4d62e8b44290", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-eab43a81c60e", + "target": "code-mod-apprentice-db3d0c1a6fce", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-f915168812d5", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-eab43a81c60e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-dd9d69af110f", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-eaebc816d5c0", + "target": "code-mod-apprentice-2bf9d68f63ad", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-3660e16f3d4c", - "target": "code-mod-apprentice-9f54b8fd07aa", - "type": "contains", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-eaebc816d5c0", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-9759e48c47c5", - "target": "code-mod-apprentice-9f54b8fd07aa", + "direction": "outbound", + "source": "code-sym-apprentice-eb7b092ffabc", + "target": "code-mod-apprentice-8cb1418b8ce0", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-eb7b092ffabc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-ebb56c805e06", + "target": "code-mod-apprentice-b5f70562b149", + "type": "contains", + "weight": 0.6 }, { - "source": "code-mod-apprentice-ad0541b8a96a", - "target": "code-mod-apprentice-2ddb51ce83da", - "type": "depends_on", "direction": "outbound", + "source": "code-sym-apprentice-ebb56c805e06", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", "weight": 0.5 }, { - "source": "code-sym-apprentice-757e883f9d64", - "target": "code-mod-apprentice-ad0541b8a96a", + "direction": "outbound", + "source": "code-sym-apprentice-ebddf85b55c4", + "target": "code-mod-apprentice-594207c53b32", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-ebddf85b55c4", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-fd924eb0d748", - "target": "code-mod-apprentice-ad0541b8a96a", + "direction": "outbound", + "source": "code-sym-apprentice-ec48bc0862bb", + "target": "code-mod-apprentice-5aeba9d79e32", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-ec48bc0862bb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8d387f6a412f", - "target": "code-mod-apprentice-ad0541b8a96a", + "direction": "outbound", + "source": "code-sym-apprentice-ec63e5bb5f90", + "target": "code-mod-apprentice-d129ec7b3fe6", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-ec63e5bb5f90", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-764b1358c4e4", - "target": "code-mod-apprentice-ad0541b8a96a", + "direction": "outbound", + "source": "code-sym-apprentice-ed282445f7e2", + "target": "code-mod-apprentice-b627511984c7", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-ed282445f7e2", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-5ade6e1df813", - "target": "code-mod-apprentice-ad0541b8a96a", + "direction": "outbound", + "source": "code-sym-apprentice-edd360947820", + "target": "code-mod-apprentice-91d05597a213", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-edd360947820", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-505f6790b4ab", - "target": "code-mod-apprentice-ad0541b8a96a", + "direction": "outbound", + "source": "code-sym-apprentice-eecb4874144d", + "target": "code-mod-apprentice-5aeba9d79e32", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-eecb4874144d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b24d9f7a9af4", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f137e82a9ecf", + "target": "code-mod-apprentice-1f9cceef3863", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f137e82a9ecf", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-95dce4eccce8", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f15e0dbbc79b", + "target": "code-mod-apprentice-5aeba9d79e32", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f15e0dbbc79b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-6b7667254f0f", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f20bb1e90ccb", + "target": "code-mod-apprentice-0a44add2cd47", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f20bb1e90ccb", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-94060390f38f", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f2b35f69af41", + "target": "code-mod-apprentice-9f54b8fd07aa", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f2b35f69af41", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-94060390f38f", - "target": "code-sym-apprentice-35da23c435b7", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f32104e62ac6", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-35da23c435b7", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f32104e62ac6", + "target": "code-sym-apprentice-9d608fdf05b0", "type": "contains", + "weight": 0.5 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f374aa34e81f", + "target": "code-mod-apprentice-8cb1418b8ce0", + "type": "contains", + "weight": 0.6 }, { - "source": "code-sym-apprentice-35da23c435b7", - "target": "code-sym-apprentice-94060390f38f", - "type": "related", "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f374aa34e81f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-017716b1bd09", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f387336f9785", + "target": "code-mod-apprentice-dd5d89009dab", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f387336f9785", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-6879432b5ee0", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f3e06b5c9729", + "target": "code-mod-apprentice-e8d0a78f189b", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f3e06b5c9729", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e454bbeaeb40", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f3f1a69a2aed", + "target": "code-mod-apprentice-d1f56cbb4596", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f3f1a69a2aed", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-db889184d1d6", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f460efb3da1f", + "target": "code-mod-apprentice-db3d0c1a6fce", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f460efb3da1f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-8b41c11f7496", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f605871cbe7b", + "target": "code-mod-apprentice-302d93954718", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f605871cbe7b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-b80d96588eea", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f6eb83301ce8", + "target": "code-mod-apprentice-e8d0a78f189b", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f6eb83301ce8", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-25d9d556203c", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f70272e3ccae", + "target": "code-mod-apprentice-dd5d89009dab", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 + "source": "code-sym-apprentice-f70272e3ccae", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 }, { - "source": "code-sym-apprentice-e6795e6ba453", - "target": "code-mod-apprentice-bce9535eb9ab", + "direction": "outbound", + "source": "code-sym-apprentice-f730d7e5cd0d", + "target": "code-mod-apprentice-a2fa0f4c007f", "type": "contains", + "weight": 0.6 + }, + { "direction": "outbound", - "weight": 0.0108 - } - ], - "layers": [ + "source": "code-sym-apprentice-f730d7e5cd0d", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, { - "id": "api", - "name": "Api", - "description": "Kindex-inferred api layer.", - "nodeIds": [ - "code-mod-apprentice-5aeba9d79e32", - "code-mod-apprentice-d129ec7b3fe6" - ] + "direction": "outbound", + "source": "code-sym-apprentice-f88bc6a42b6c", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 }, { - "id": "core", - "name": "Core", - "description": "Kindex-inferred core layer.", - "nodeIds": [ + "direction": "outbound", + "source": "code-sym-apprentice-f88bc6a42b6c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-f8c886701c47", + "target": "code-mod-apprentice-7fa8b703f13e", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-f8c886701c47", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-f915168812d5", + "target": "code-mod-apprentice-9f54b8fd07aa", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-f915168812d5", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fa42470c44a1", + "target": "code-mod-apprentice-0a44add2cd47", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fa42470c44a1", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fab197e06f5f", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fab197e06f5f", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fb13d3e6da7c", + "target": "code-mod-apprentice-dd5d89009dab", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fb13d3e6da7c", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fb1ebaf433bc", + "target": "code-mod-apprentice-cf878b8f317c", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fb1ebaf433bc", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fc480003b913", + "target": "code-mod-apprentice-302d93954718", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fc480003b913", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fd924eb0d748", + "target": "code-mod-apprentice-ad0541b8a96a", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fd924eb0d748", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fe1f80238d8e", + "target": "code-mod-apprentice-2ddb51ce83da", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fe1f80238d8e", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fe84e8be6c95", + "target": "code-mod-apprentice-5aeba9d79e32", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fe84e8be6c95", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fec79c74b17b", + "target": "code-mod-apprentice-679f57c4c4db", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fec79c74b17b", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fecb991faa3a", + "target": "code-mod-apprentice-c0e74683670f", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-fecb991faa3a", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-ff1dde397ead", + "target": "code-mod-apprentice-d9632c802373", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-ff1dde397ead", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-ff31ede95377", + "target": "code-mod-apprentice-b627511984c7", + "type": "contains", + "weight": 0.6 + }, + { + "direction": "outbound", + "source": "code-sym-apprentice-ff31ede95377", + "target": "code-sym-apprentice-9d608fdf05b0", + "type": "contains", + "weight": 0.5 + } + ], + "layers": [ + { + "description": "Kindex-inferred api layer.", + "id": "api", + "name": "Api", + "nodeIds": [ + "code-mod-apprentice-5aeba9d79e32", + "code-mod-apprentice-d129ec7b3fe6" + ] + }, + { + "description": "Kindex-inferred core layer.", + "id": "core", + "name": "Core", + "nodeIds": [ "code-mod-apprentice-0e7125609223", "code-mod-apprentice-1698980bbd1a", "code-mod-apprentice-1f9cceef3863", @@ -12412,9 +7569,9 @@ ] }, { + "description": "Kindex-inferred data layer.", "id": "data", "name": "Data", - "description": "Kindex-inferred data layer.", "nodeIds": [ "code-mod-apprentice-0a44add2cd47", "code-mod-apprentice-2ddb51ce83da", @@ -12431,9 +7588,9 @@ ] }, { + "description": "Kindex-inferred domain layer.", "id": "domain", "name": "Domain", - "description": "Kindex-inferred domain layer.", "nodeIds": [ "code-sym-apprentice-0052752c7470", "code-sym-apprentice-00955f35f232", @@ -12477,6 +7634,7 @@ "code-sym-apprentice-17fb3330f13d", "code-sym-apprentice-18e54562cb38", "code-sym-apprentice-192ed3d8bd55", + "code-sym-apprentice-1a2fafff20a3", "code-sym-apprentice-1a7b73d603ee", "code-sym-apprentice-1b5c3962a21b", "code-sym-apprentice-1bb6e75c2c8f", @@ -12487,11 +7645,14 @@ "code-sym-apprentice-1eba5b2c0c22", "code-sym-apprentice-1f1c402b864e", "code-sym-apprentice-1f280475e2a1", + "code-sym-apprentice-1f5afd7b10f5", "code-sym-apprentice-1fe81f0471af", "code-sym-apprentice-205de453a6ab", "code-sym-apprentice-21013ff39348", + "code-sym-apprentice-216210e00d9d", "code-sym-apprentice-21aaadb6b4e1", "code-sym-apprentice-2250fa629391", + "code-sym-apprentice-238079747864", "code-sym-apprentice-2388cd096cd3", "code-sym-apprentice-252dbbaa4788", "code-sym-apprentice-25867fd21bea", @@ -12515,6 +7676,7 @@ "code-sym-apprentice-2edae8522463", "code-sym-apprentice-2f3c451f27da", "code-sym-apprentice-2f904b46c6d2", + "code-sym-apprentice-30f13d064cc3", "code-sym-apprentice-30f691eb5f9e", "code-sym-apprentice-31238733194f", "code-sym-apprentice-3152f3f3068c", @@ -12533,18 +7695,21 @@ "code-sym-apprentice-36637edc4245", "code-sym-apprentice-36d0788b3256", "code-sym-apprentice-370f778d5b34", + "code-sym-apprentice-3744945d97ec", "code-sym-apprentice-3754794d8a6a", "code-sym-apprentice-37a1eb566f1e", "code-sym-apprentice-39bf8ac3f2c5", "code-sym-apprentice-39c3086e4000", "code-sym-apprentice-3a21c5da5d82", "code-sym-apprentice-3a7787fcfec1", + "code-sym-apprentice-3b54c74322ba", "code-sym-apprentice-3b691d01dec7", "code-sym-apprentice-3bac50e4ae72", "code-sym-apprentice-3bb3a00b8546", "code-sym-apprentice-3c1a44c9510b", "code-sym-apprentice-3c4cd175f7ce", "code-sym-apprentice-3c6f10e1efdb", + "code-sym-apprentice-3cf284e686d8", "code-sym-apprentice-3d45a761f68e", "code-sym-apprentice-3e22697d494a", "code-sym-apprentice-3e4db604c1ca", @@ -12554,6 +7719,7 @@ "code-sym-apprentice-41bd38128171", "code-sym-apprentice-41de3b187a11", "code-sym-apprentice-42230c0357ac", + "code-sym-apprentice-4287dac130f6", "code-sym-apprentice-435caae2fed3", "code-sym-apprentice-43a24fc5a7ce", "code-sym-apprentice-4440ba039f76", @@ -12578,6 +7744,7 @@ "code-sym-apprentice-4f900fb9a6c9", "code-sym-apprentice-505f6790b4ab", "code-sym-apprentice-50668ace6850", + "code-sym-apprentice-5117d87bea5e", "code-sym-apprentice-511dc840eddb", "code-sym-apprentice-515c25946f55", "code-sym-apprentice-5160652faa5d", @@ -12610,6 +7777,7 @@ "code-sym-apprentice-5e43f8c09308", "code-sym-apprentice-5e9826a02974", "code-sym-apprentice-5ea6e90a3f1d", + "code-sym-apprentice-5eaaf4cfa4b8", "code-sym-apprentice-60c376ec4e9d", "code-sym-apprentice-611ffd19ff36", "code-sym-apprentice-6147c6a85b96", @@ -12620,6 +7788,7 @@ "code-sym-apprentice-62b67f726b00", "code-sym-apprentice-62ffddb9ac91", "code-sym-apprentice-631432820380", + "code-sym-apprentice-632156bc17c6", "code-sym-apprentice-636bea536eea", "code-sym-apprentice-636c0a4eada3", "code-sym-apprentice-644b846ee404", @@ -12628,8 +7797,10 @@ "code-sym-apprentice-66cbfc07aba2", "code-sym-apprentice-687107ce0745", "code-sym-apprentice-6879432b5ee0", + "code-sym-apprentice-6a1834a340cc", "code-sym-apprentice-6b512dd031b1", "code-sym-apprentice-6b7667254f0f", + "code-sym-apprentice-6b925b0f121a", "code-sym-apprentice-6bc30670b9f2", "code-sym-apprentice-6c87a91539f5", "code-sym-apprentice-6d1ee7b52a58", @@ -12640,6 +7811,7 @@ "code-sym-apprentice-6f291420055a", "code-sym-apprentice-6fd13b388efb", "code-sym-apprentice-7050655a9637", + "code-sym-apprentice-706b587e1d66", "code-sym-apprentice-710af128df4c", "code-sym-apprentice-7132a0c9a123", "code-sym-apprentice-71594400434a", @@ -12647,8 +7819,10 @@ "code-sym-apprentice-728182efed48", "code-sym-apprentice-728f72d01213", "code-sym-apprentice-73a222c32f29", + "code-sym-apprentice-73f20d6525f9", "code-sym-apprentice-741c2130507b", "code-sym-apprentice-7444f5e506e8", + "code-sym-apprentice-747c136cc464", "code-sym-apprentice-757e883f9d64", "code-sym-apprentice-764b1358c4e4", "code-sym-apprentice-778f2a43df0c", @@ -12719,8 +7893,10 @@ "code-sym-apprentice-97c3f293355c", "code-sym-apprentice-97d6d5170c76", "code-sym-apprentice-98930e20788c", + "code-sym-apprentice-98c63ca32a6b", "code-sym-apprentice-99adebe04b73", "code-sym-apprentice-9ab08d72e5ef", + "code-sym-apprentice-9b0bdd747c57", "code-sym-apprentice-9bc8254f40c1", "code-sym-apprentice-9c3a893bfd00", "code-sym-apprentice-9cdf1864bcd3", @@ -12742,6 +7918,7 @@ "code-sym-apprentice-a2f09cdca4e6", "code-sym-apprentice-a302728cf893", "code-sym-apprentice-a34d2d0e39ed", + "code-sym-apprentice-a4a4fb554963", "code-sym-apprentice-a5255184f43a", "code-sym-apprentice-a7c0e2961c86", "code-sym-apprentice-a8203f5dbf19", @@ -12778,6 +7955,7 @@ "code-sym-apprentice-bb118750eaef", "code-sym-apprentice-bcae2e3ed0cf", "code-sym-apprentice-bd613f7dcbef", + "code-sym-apprentice-bd6737af8b65", "code-sym-apprentice-bdf6b2dba77a", "code-sym-apprentice-be55dd5f5676", "code-sym-apprentice-be67fca5c732", @@ -12790,6 +7968,7 @@ "code-sym-apprentice-c1eca63623fa", "code-sym-apprentice-c328d5ff87db", "code-sym-apprentice-c45a5a2d03c8", + "code-sym-apprentice-c55deadf6133", "code-sym-apprentice-c611719d605f", "code-sym-apprentice-c632239515b1", "code-sym-apprentice-c6d9928165b7", @@ -12805,7 +7984,9 @@ "code-sym-apprentice-cb046538b4a7", "code-sym-apprentice-cb14eee6d598", "code-sym-apprentice-cb30731509fd", + "code-sym-apprentice-cb64540662c0", "code-sym-apprentice-cdfd4d9fc822", + "code-sym-apprentice-cfd01bb7cba8", "code-sym-apprentice-d238b4ce07a4", "code-sym-apprentice-d2c833993228", "code-sym-apprentice-d30d23b34252", @@ -12823,6 +8004,7 @@ "code-sym-apprentice-d7b699fb8c6f", "code-sym-apprentice-d7c232925557", "code-sym-apprentice-d8cc2b65cacb", + "code-sym-apprentice-d9a3160e0089", "code-sym-apprentice-d9c6360da895", "code-sym-apprentice-d9e053a33e38", "code-sym-apprentice-da71582fad25", @@ -12850,12 +8032,14 @@ "code-sym-apprentice-e64910957d85", "code-sym-apprentice-e6795e6ba453", "code-sym-apprentice-e70f423f4c56", + "code-sym-apprentice-e738cdc00161", "code-sym-apprentice-e77c66697f35", "code-sym-apprentice-e88b6535591a", "code-sym-apprentice-e91b76ea4a2d", "code-sym-apprentice-e96a8e6cd9c9", "code-sym-apprentice-e9a0987115ed", "code-sym-apprentice-ea6ff8b3dd58", + "code-sym-apprentice-eab43a81c60e", "code-sym-apprentice-eaebc816d5c0", "code-sym-apprentice-eb7b092ffabc", "code-sym-apprentice-ebb56c805e06", @@ -12874,6 +8058,7 @@ "code-sym-apprentice-f387336f9785", "code-sym-apprentice-f3e06b5c9729", "code-sym-apprentice-f3f1a69a2aed", + "code-sym-apprentice-f460efb3da1f", "code-sym-apprentice-f605871cbe7b", "code-sym-apprentice-f6eb83301ce8", "code-sym-apprentice-f70272e3ccae", @@ -12896,19 +8081,9192 @@ ] } ], + "nodes": [ + { + "complexity": 3, + "filePath": "docker/trainer/train.py", + "id": "code-mod-apprentice-2818110a5e2c", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "docker/trainer/train.py", + "summary": "Language: Python | Path: docker/trainer/train.py | ~189 lines ## Functions - main() -> None", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "examples/wos_client.py", + "id": "code-mod-apprentice-33517cccbba1", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "examples/wos_client.py", + "summary": "Language: Python | Path: examples/wos_client.py | ~16 lines ## Functions - main()", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/__init__.py", + "id": "code-mod-apprentice-af535fde5695", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/__init__.py", + "summary": "Language: Python | Path: src/apprentice/__init__.py | ~21 lines", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-02b8cda2b167", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetEnforcementConfig", + "summary": "class BudgetEnforcementConfig(BaseModel) (src/apprentice/apprentice_class.py:88)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-370f778d5b34", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceThresholds", + "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/apprentice_class.py:55) ## Methods - validate_threshold_ordering(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-46fc2a3ba228", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseLabel", + "summary": "class PhaseLabel(Enum) (src/apprentice/apprentice_class.py:28)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-4a7fcc5b33cd", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ResponseMetadata", + "summary": "class ResponseMetadata(BaseModel) (src/apprentice/apprentice_class.py:114)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-588d249a6949", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SystemReport", + "summary": "class SystemReport(BaseModel) (src/apprentice/apprentice_class.py:154)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-5e9826a02974", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelSource", + "summary": "class ModelSource(Enum) (src/apprentice/apprentice_class.py:22)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-61ed476d61c0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ApprenticeError", + "summary": "class ApprenticeError(Exception) (src/apprentice/apprentice_class.py:202)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-6d4714d3414c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ApprenticeConfig", + "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/apprentice_class.py:97)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-71594400434a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RunStatus", + "summary": "class RunStatus(Enum) (src/apprentice/apprentice_class.py:36)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-83d0ec9b127e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskResponse", + "summary": "class TaskResponse(BaseModel) (src/apprentice/apprentice_class.py:125)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-970d0cc4d9bf", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskNotFoundError", + "summary": "class TaskNotFoundError(ApprenticeError) (src/apprentice/apprentice_class.py:236)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-a7c0e2961c86", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ErrorKind", + "summary": "class ErrorKind(Enum) (src/apprentice/apprentice_class.py:43)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-b647e4598918", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalModelUnavailableError", + "summary": "class LocalModelUnavailableError(ApprenticeError) (src/apprentice/apprentice_class.py:250)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-ba09138e9ebc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetExhaustedError", + "summary": "class BudgetExhaustedError(ApprenticeError) (src/apprentice/apprentice_class.py:219)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-ca8ac279c69a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RunContext", + "summary": "class RunContext(BaseModel) (src/apprentice/apprentice_class.py:174)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-cac3b741cb3a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceSnapshot", + "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/apprentice_class.py:138)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 13, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-d6f1460f0624", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Apprentice", + "summary": "class Apprentice (src/apprentice/apprentice_class.py:269) ## Methods - __aenter__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-sym-apprentice-d9e053a33e38", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskConfig", + "summary": "class TaskConfig(BaseModel) (src/apprentice/apprentice_class.py:76)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 18, + "filePath": "src/apprentice/apprentice_class.py", + "id": "code-mod-apprentice-2b60fdaaa17c", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/apprentice_class.py", + "summary": "Language: Python | Path: src/apprentice/apprentice_class.py | ~1094 lines ## Classes - Apprentice", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 4, + "filePath": "src/apprentice/audit_log.py", + "id": "code-sym-apprentice-0a2b0b09c17b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JsonLinesAuditLogger", + "summary": "class JsonLinesAuditLogger (src/apprentice/audit_log.py:187) ## Methods - entries_by_task(self, task_name: str) -> AuditEntryList", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/audit_log.py", + "id": "code-sym-apprentice-0a5a43caafb7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditEntry", + "summary": "class AuditEntry(BaseModel) (src/apprentice/audit_log.py:56) ## Methods - __setattr__(self, name, value)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/audit_log.py", + "id": "code-sym-apprentice-29169cd6501c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PactFormatter", + "summary": "class PactFormatter(logging.Formatter) (src/apprentice/audit_log.py:24) ## Methods - format(self, record)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/audit_log.py", + "id": "code-sym-apprentice-636c0a4eada3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JsonFormatter", + "summary": "class JsonFormatter(logging.Formatter) (src/apprentice/audit_log.py:177) ## Methods - format(self, record: logging.LogRecord) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/audit_log.py", + "id": "code-sym-apprentice-6d41b578aa45", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EventType", + "summary": "class EventType(str, Enum) (src/apprentice/audit_log.py:38)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/audit_log.py", + "id": "code-sym-apprentice-7c002f4ba77f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditLogger", + "summary": "class AuditLogger(Protocol) (src/apprentice/audit_log.py:147) ## Methods - entries_by_task(self, task_name: str) -> list[AuditEntry]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/audit_log.py", + "id": "code-sym-apprentice-e24576be3b1b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditConfig", + "summary": "class AuditConfig(BaseModel) (src/apprentice/audit_log.py:115) ## Methods - validate_log_path(cls, v: str) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/audit_log.py", + "id": "code-mod-apprentice-7906e1efa075", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/audit_log.py", + "summary": "Language: Python | Path: src/apprentice/audit_log.py | ~456 lines ## Classes - AuditConfig(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/audit_log_adapter.py", + "id": "code-sym-apprentice-1eba5b2c0c22", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EventType", + "summary": "class EventType(str, Enum) (src/apprentice/audit_log_adapter.py:21)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/audit_log_adapter.py", + "id": "code-sym-apprentice-66cbfc07aba2", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditEntry", + "summary": "class AuditEntry (src/apprentice/audit_log_adapter.py:95) ## Methods - __setattr__(self, name, value)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 5, + "filePath": "src/apprentice/audit_log_adapter.py", + "id": "code-sym-apprentice-8b40c753a8fa", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditConfig", + "summary": "class AuditConfig (src/apprentice/audit_log_adapter.py:48) ## Methods - __setattr__(self, name, value)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/audit_log_adapter.py", + "id": "code-sym-apprentice-c1eca63623fa", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JsonLinesAuditLogger", + "summary": "class JsonLinesAuditLogger (src/apprentice/audit_log_adapter.py:150) ## Methods - entries_by_task(self, task_name: str) -> list", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/audit_log_adapter.py", + "id": "code-mod-apprentice-a3d269d5aae8", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/audit_log_adapter.py", + "summary": "Language: Python | Path: src/apprentice/audit_log_adapter.py | ~202 lines ## Classes - AuditConfig", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 4, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-1791ab5c6629", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetConfig", + "summary": "class BudgetConfig(BaseModel) (src/apprentice/budget_manager.py:96) ## Methods - validate_cost_non_negative(cls, v: Decimal) -> Decimal", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-1e08368cbe7a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetError", + "summary": "class BudgetError(Exception) (src/apprentice/budget_manager.py:280)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-1fe81f0471af", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SavingsTracker", + "summary": "class SavingsTracker(BaseModel) (src/apprentice/budget_manager.py:154)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-3287f35dc25d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetManager", + "summary": "class BudgetManager (src/apprentice/budget_manager.py:322) ## Methods - authorize(self, estimated_cost: Decimal) -> BudgetAuthorizationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-3754794d8a6a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PeriodType", + "summary": "class PeriodType(Enum) (src/apprentice/budget_manager.py:53)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-403f24c961e2", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DenialReason", + "summary": "class DenialReason(Enum) (src/apprentice/budget_manager.py:61)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-522cf079a72b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetState", + "summary": "class BudgetState(BaseModel) (src/apprentice/budget_manager.py:183) ## Methods - validate_schema_version(cls, v: int) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-5a90f557eac7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetExhaustedError", + "summary": "class BudgetExhaustedError(BudgetError) (src/apprentice/budget_manager.py:289)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-61c44acb7e99", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PeriodSpend", + "summary": "class PeriodSpend(BaseModel) (src/apprentice/budget_manager.py:139)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-62ffddb9ac91", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetAuthorizationResult", + "summary": "class BudgetAuthorizationResult(BaseModel) (src/apprentice/budget_manager.py:202)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-644b846ee404", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PeriodSummary", + "summary": "class PeriodSummary(BaseModel) (src/apprentice/budget_manager.py:165)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-6693abf88ba3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PeriodLimit", + "summary": "class PeriodLimit(BaseModel) (src/apprentice/budget_manager.py:77) ## Methods - validate_limit_positive(cls, v: Decimal) -> Decimal", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-7ecc71f31ff3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetStateCorruptedError", + "summary": "class BudgetStateCorruptedError(BudgetError) (src/apprentice/budget_manager.py:302)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-9ddf26c9c2ec", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CostTrajectoryPoint", + "summary": "class CostTrajectoryPoint(BaseModel) (src/apprentice/budget_manager.py:242)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-bdf6b2dba77a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetReport", + "summary": "class BudgetReport(BaseModel) (src/apprentice/budget_manager.py:259)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-c7320e4121ee", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SpendMetadata", + "summary": "class SpendMetadata(BaseModel) (src/apprentice/budget_manager.py:215) ## Methods - validate_request_id(cls, v: str) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-sym-apprentice-c890afedab4c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PactFormatter", + "summary": "class PactFormatter(logging.Formatter) (src/apprentice/budget_manager.py:35) ## Methods - format(self, record)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 18, + "filePath": "src/apprentice/budget_manager.py", + "id": "code-mod-apprentice-687320155f0f", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/budget_manager.py", + "summary": "Language: Python | Path: src/apprentice/budget_manager.py | ~1039 lines ## Classes - BudgetAuthorizationResult(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli.py", + "id": "code-sym-apprentice-36d0788b3256", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JSONFormatter", + "summary": "class JSONFormatter(logging.Formatter) (src/apprentice/cli/cli.py:81) ## Methods - format(self, record: logging.LogRecord) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 15, + "filePath": "src/apprentice/cli/cli.py", + "id": "code-mod-apprentice-7d6467b32525", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/cli/cli.py", + "summary": "Language: Python | Path: src/apprentice/cli/cli.py | ~1127 lines ## Classes - JSONFormatter(logging.Formatter)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-09abc8002a4e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SubcommandName", + "summary": "class SubcommandName(Enum) (src/apprentice/cli/cli_models.py:33)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-2388cd096cd3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetInfo", + "summary": "class BudgetInfo(BaseModel) (src/apprentice/cli/cli_models.py:170)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-29d005e51098", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PackageArgs", + "summary": "class PackageArgs(BaseModel) (src/apprentice/cli/cli_models.py:109)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-2b56c0e1a8b1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RunResult", + "summary": "class RunResult(BaseModel) (src/apprentice/cli/cli_models.py:180)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-2dca87d1880a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OutputFormat", + "summary": "class OutputFormat(Enum) (src/apprentice/cli/cli_models.py:20)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-2edae8522463", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "GlobalFlags", + "summary": "class GlobalFlags(BaseModel) (src/apprentice/cli/cli_models.py:46)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-3619a577f48a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseInfo", + "summary": "class PhaseInfo(BaseModel) (src/apprentice/cli/cli_models.py:161)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-3c6f10e1efdb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InputData", + "summary": "class InputData(BaseModel) (src/apprentice/cli/cli_models.py:154)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-4440ba039f76", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LogLevel", + "summary": "class LogLevel(Enum) (src/apprentice/cli/cli_models.py:26)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-4907659c592a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InitArgs", + "summary": "class InitArgs(BaseModel) (src/apprentice/cli/cli_models.py:77)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-5160652faa5d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StatusResult", + "summary": "class StatusResult(BaseModel) (src/apprentice/cli/cli_models.py:199)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-5d6180056bca", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ApprenticeConfig", + "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/cli/cli_models.py:224) ## Methods - validate_schema(self) -> bool", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-96ebf4a7443c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskStatusEntry", + "summary": "class TaskStatusEntry(BaseModel) (src/apprentice/cli/cli_models.py:190)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-9bc8254f40c1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RunArgs", + "summary": "class RunArgs(BaseModel) (src/apprentice/cli/cli_models.py:55)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-b0f5893be3fe", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ReportResult", + "summary": "class ReportResult(BaseModel) (src/apprentice/cli/cli_models.py:207)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-b1bef74ff18d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ServeArgs", + "summary": "class ServeArgs(BaseModel) (src/apprentice/cli/cli_models.py:84)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-b92524d7ef57", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIIEvaluateArgs", + "summary": "class PIIEvaluateArgs(BaseModel) (src/apprentice/cli/cli_models.py:129)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-bfda6dbc4759", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIIIngestArgs", + "summary": "class PIIIngestArgs(BaseModel) (src/apprentice/cli/cli_models.py:120)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-c7f9d18376e6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ExitCode", + "summary": "class ExitCode(Enum) (src/apprentice/cli/cli_models.py:12)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-cb30731509fd", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ParsedArgs", + "summary": "class ParsedArgs(BaseModel) (src/apprentice/cli/cli_models.py:137)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-da71582fad25", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StatusArgs", + "summary": "class StatusArgs(BaseModel) (src/apprentice/cli/cli_models.py:63)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-dceed7ed31ac", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ReportArgs", + "summary": "class ReportArgs(BaseModel) (src/apprentice/cli/cli_models.py:70)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-sym-apprentice-f730d7e5cd0d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "IngestArgs", + "summary": "class IngestArgs(BaseModel) (src/apprentice/cli/cli_models.py:100)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 23, + "filePath": "src/apprentice/cli/cli_models.py", + "id": "code-mod-apprentice-a2fa0f4c007f", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/cli/cli_models.py", + "summary": "Language: Python | Path: src/apprentice/cli/cli_models.py | ~231 lines ## Classes - ApprenticeConfig(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 4, + "filePath": "src/apprentice/cli/init_wizard.py", + "id": "code-mod-apprentice-9020541c2233", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/cli/init_wizard.py", + "summary": "Language: Python | Path: src/apprentice/cli/init_wizard.py | ~51 lines ## Functions - run_wizard(output_path: str = \"./apprentice.yaml\") -> str", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 3, + "filePath": "src/apprentice/cli/serve.py", + "id": "code-sym-apprentice-3d45a761f68e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ApprenticeServer", + "summary": "class ApprenticeServer (src/apprentice/cli/serve.py:164) ## Methods - start(self) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/cli/serve.py", + "id": "code-sym-apprentice-84df39a1c8c4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SecurityConfig", + "summary": "class SecurityConfig (src/apprentice/cli/serve.py:34) ## Methods - build_ssl_context(self) -> Optional[ssl.SSLContext]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/cli/serve.py", + "id": "code-mod-apprentice-921fa79fbb5d", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/cli/serve.py", + "summary": "Language: Python | Path: src/apprentice/cli/serve.py | ~962 lines ## Classes - ApprenticeServer", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/confidence_engine.py", + "id": "code-sym-apprentice-1bbf74ee8835", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DriftShiftStatus", + "summary": "class DriftShiftStatus(BaseModel) (src/apprentice/confidence_engine.py:87)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/confidence_engine.py", + "id": "code-sym-apprentice-40f21272e4f8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceEngineConfig", + "summary": "class ConfidenceEngineConfig(BaseModel) (src/apprentice/confidence_engine.py:62)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/confidence_engine.py", + "id": "code-sym-apprentice-548e78fbb0f3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceEngine", + "summary": "class ConfidenceEngine (src/apprentice/confidence_engine.py:122) ## Methods - get_all_snapshots( self, example_counts: dict[str, int], local_model_availability: dict[str, bool], ) -> ConfidenceSnapshotEnrichedMap", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/confidence_engine.py", + "id": "code-sym-apprentice-592fd9973445", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceSnapshotEnrichedMap", + "summary": "class ConfidenceSnapshotEnrichedMap(BaseModel) (src/apprentice/confidence_engine.py:113)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/confidence_engine.py", + "id": "code-sym-apprentice-875af9ecac9f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluationOutcome", + "summary": "class EvaluationOutcome(BaseModel) (src/apprentice/confidence_engine.py:75)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/confidence_engine.py", + "id": "code-sym-apprentice-e2f1aaecdc7a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceSnapshotEnriched", + "summary": "class ConfidenceSnapshotEnriched(BaseModel) (src/apprentice/confidence_engine.py:96)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/confidence_engine.py", + "id": "code-mod-apprentice-a900b12b40af", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/confidence_engine.py", + "summary": "Language: Python | Path: src/apprentice/confidence_engine.py | ~699 lines ## Classes - ConfidenceEngine", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_and_registry.py", + "id": "code-sym-apprentice-12bb73991f48", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskRegistry", + "summary": "class TaskRegistry(task_registry.TaskRegistry) (src/apprentice/config_and_registry.py:61)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/config_and_registry.py", + "id": "code-mod-apprentice-0e7125609223", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/config_and_registry.py", + "summary": "Language: Python | Path: src/apprentice/config_and_registry.py | ~147 lines ## Classes - TaskRegistry(task_registry.TaskRegistry)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-0052752c7470", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfigParseError", + "summary": "class ConfigParseError(ConfigError) (src/apprentice/config_loader.py:83)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-0f8fce43fc85", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PluginEntryConfig", + "summary": "class PluginEntryConfig(BaseModel) (src/apprentice/config_loader.py:359)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-116fae85271c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIIConfig", + "summary": "class PIIConfig(BaseModel) (src/apprentice/config_loader.py:374)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-1685f5d08e13", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetConfig", + "summary": "class BudgetConfig(BaseModel) (src/apprentice/config_loader.py:264)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-1bb7790bf47f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ApprenticeConfig", + "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/config_loader.py:427) ## Methods - validate_cross_field_constraints(self) -> \"ApprenticeConfig\"", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-281f697001fc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskFieldSpec", + "summary": "class TaskFieldSpec(BaseModel) (src/apprentice/config_loader.py:240)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-28e317b3bef5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorTypeName", + "summary": "class EvaluatorTypeName(Enum) (src/apprentice/config_loader.py:32)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-2da52d120ca7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MiddlewareEntryConfig", + "summary": "class MiddlewareEntryConfig(BaseModel) (src/apprentice/config_loader.py:366)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-33a41f115b3f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfigFileNotFoundError", + "summary": "class ConfigFileNotFoundError(ConfigError) (src/apprentice/config_loader.py:75)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-42230c0357ac", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfigValidationError", + "summary": "class ConfigValidationError(ConfigError) (src/apprentice/config_loader.py:101)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-52826499577a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorConfig", + "summary": "class EvaluatorConfig(BaseModel) (src/apprentice/config_loader.py:218) ## Methods - validate_type(cls, v: Any) -> EvaluatorTypeName", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-59cc03a1a6d6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SkillPackageRefConfig", + "summary": "class SkillPackageRefConfig(BaseModel) (src/apprentice/config_loader.py:413)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-6c87a91539f5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfigError", + "summary": "class ConfigError(Exception) (src/apprentice/config_loader.py:65)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-7132a0c9a123", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ObserverConfig", + "summary": "class ObserverConfig(BaseModel) (src/apprentice/config_loader.py:403)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-741c2130507b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditConfig", + "summary": "class AuditConfig(BaseModel) (src/apprentice/config_loader.py:329) ## Methods - validate_log_level(cls, v: Any) -> LogLevel", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-7bf230b234eb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalModelConfig", + "summary": "class LocalModelConfig(BaseModel) (src/apprentice/config_loader.py:189)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-7f0c4096ad31", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EnvVarNotFoundError", + "summary": "class EnvVarNotFoundError(ConfigError) (src/apprentice/config_loader.py:109)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-90d68cf5ca50", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskConfig", + "summary": "class TaskConfig(BaseModel) (src/apprentice/config_loader.py:250)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-90f1d655925f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FinetuningConfig", + "summary": "class FinetuningConfig(BaseModel) (src/apprentice/config_loader.py:276) ## Methods - resolve_api_key(cls, v: Any) -> Optional[str]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-97c3f293355c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FinetuningBackendName", + "summary": "class FinetuningBackendName(Enum) (src/apprentice/config_loader.py:41)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-a5255184f43a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceThresholds", + "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/config_loader.py:209)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-aab00d9d5301", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ProviderConfig", + "summary": "class ProviderConfig(BaseModel) (src/apprentice/config_loader.py:170) ## Methods - resolve_api_key(cls, v: Any) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-b43b2ae2777e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EventHandlerConfig", + "summary": "class EventHandlerConfig(BaseModel) (src/apprentice/config_loader.py:314)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-bb118750eaef", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingDataStoreConfig", + "summary": "class TrainingDataStoreConfig(BaseModel) (src/apprentice/config_loader.py:351)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-c0778853b440", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackConfig", + "summary": "class FeedbackConfig(BaseModel) (src/apprentice/config_loader.py:395)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-c07d98abbdc9", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MatchFieldSpec", + "summary": "class MatchFieldSpec(BaseModel) (src/apprentice/config_loader.py:200)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-d36748a99a9f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LogLevel", + "summary": "class LogLevel(Enum) (src/apprentice/config_loader.py:51)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/config_loader.py", + "id": "code-sym-apprentice-edd360947820", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ValidationErrorDetail", + "summary": "class ValidationErrorDetail (src/apprentice/config_loader.py:92)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 32, + "filePath": "src/apprentice/config_loader.py", + "id": "code-mod-apprentice-91d05597a213", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/config_loader.py", + "summary": "Language: Python | Path: src/apprentice/config_loader.py | ~680 lines ## Classes - ApprenticeConfig(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-01820b96b54c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ExactMatchResult", + "summary": "class ExactMatchResult(BaseModel) (src/apprentice/data_models.py:314)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-0ccd87e116b8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetState", + "summary": "class BudgetState(BaseModel) (src/apprentice/data_models.py:161) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-118093fca7d0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingExample", + "summary": "class TrainingExample(BaseModel) (src/apprentice/data_models.py:279) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-176db411e310", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CustomEvalResult", + "summary": "class CustomEvalResult(BaseModel) (src/apprentice/data_models.py:358) ## Methods - validate_dict(cls, v: Any) -> dict", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-3473fb60bdc0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ComparisonPair", + "summary": "class ComparisonPair(BaseModel) (src/apprentice/data_models.py:386) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-43a24fc5a7ce", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceSnapshot", + "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/data_models.py:182) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-4e775377d379", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RoutingDecision", + "summary": "class RoutingDecision(str, Enum) (src/apprentice/data_models.py:40)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-611ffd19ff36", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetPeriodUnit", + "summary": "class BudgetPeriodUnit(str, Enum) (src/apprentice/data_models.py:57)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-6147c6a85b96", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SemanticSimilarityResult", + "summary": "class SemanticSimilarityResult(BaseModel) (src/apprentice/data_models.py:334)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-62b5bf21de9c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorType", + "summary": "class EvaluatorType(str, Enum) (src/apprentice/data_models.py:48)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-6d1ee7b52a58", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskRequest", + "summary": "class TaskRequest(BaseModel) (src/apprentice/data_models.py:89) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-73a222c32f29", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ValidationErrorDetail", + "summary": "class ValidationErrorDetail(BaseModel) (src/apprentice/data_models.py:452)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-778f2a43df0c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FuzzyMatchResult", + "summary": "class FuzzyMatchResult(BaseModel) (src/apprentice/data_models.py:324)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-7e1cb5d6a139", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskResponse", + "summary": "class TaskResponse(BaseModel) (src/apprentice/data_models.py:114) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-8a5d4de5295c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StoryStep", + "summary": "class StoryStep(BaseModel) (src/apprentice/data_models.py:948) ## Methods - validate_metadata_dict(cls, v: Any) -> dict", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-8d6189681c62", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelVersion", + "summary": "class ModelVersion(BaseModel) (src/apprentice/data_models.py:416) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-b4c4a061f3df", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Phase", + "summary": "class Phase(str, Enum) (src/apprentice/data_models.py:33)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-b7d3c197f611", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Story", + "summary": "class Story(BaseModel) (src/apprentice/data_models.py:970) ## Methods - validate_closed_at_utc(cls, v: Optional[datetime]) -> Optional[datetime]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-c611719d605f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditEntry", + "summary": "class AuditEntry(BaseModel) (src/apprentice/data_models.py:210) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-d78b9615213a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LlmJudgeResult", + "summary": "class LlmJudgeResult(BaseModel) (src/apprentice/data_models.py:345)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-decc9a19bad9", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluationResultType", + "summary": "class EvaluationResultType(str, Enum) (src/apprentice/data_models.py:65)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-f605871cbe7b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetPeriod", + "summary": "class BudgetPeriod(BaseModel) (src/apprentice/data_models.py:145) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/data_models.py", + "id": "code-sym-apprentice-fc480003b913", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SamplingDecision", + "summary": "class SamplingDecision(BaseModel) (src/apprentice/data_models.py:250) ## Methods - validate_aware_datetime(cls, v: datetime) -> datetime", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 37, + "filePath": "src/apprentice/data_models.py", + "id": "code-mod-apprentice-302d93954718", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/data_models.py", + "summary": "Language: Python | Path: src/apprentice/data_models.py | ~1011 lines ## Classes - AuditEntry(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-31238733194f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PactFormatter", + "summary": "class PactFormatter(logging.Formatter) (src/apprentice/evaluators.py:20) ## Methods - format(self, record)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-3228a47ce933", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorType", + "summary": "class EvaluatorType(Enum) (src/apprentice/evaluators.py:38)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-4ae2d5ceee67", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskResponse", + "summary": "class TaskResponse(BaseModel) (src/apprentice/evaluators.py:47)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-5dff024d186c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FieldEvaluation", + "summary": "class FieldEvaluation(BaseModel) (src/apprentice/evaluators.py:93)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-78b8c8a02fc8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ExactMatchEvaluator", + "summary": "class ExactMatchEvaluator (src/apprentice/evaluators.py:205) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-8c4965f3382d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FunctionEvaluatorAdapter", + "summary": "class FunctionEvaluatorAdapter (src/apprentice/evaluators.py:581) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-9c3a893bfd00", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluationResult", + "summary": "class EvaluationResult(BaseModel) (src/apprentice/evaluators.py:104) ## Methods - clamp_score_validator(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-a34d2d0e39ed", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LLMJudgeEvaluator", + "summary": "class LLMJudgeEvaluator (src/apprentice/evaluators.py:482) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-e55359ca8e87", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StructuredMatchEvaluator", + "summary": "class StructuredMatchEvaluator (src/apprentice/evaluators.py:248) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-e96a8e6cd9c9", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SemanticSimilarityEvaluator", + "summary": "class SemanticSimilarityEvaluator (src/apprentice/evaluators.py:343) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-e9a0987115ed", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorProtocol", + "summary": "class EvaluatorProtocol(Protocol) (src/apprentice/evaluators.py:129) ## Methods - evaluate( self, local: TaskResponse, remote: TaskResponse, task_config: TaskEvaluatorConfig, ) -> EvaluationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/evaluators.py", + "id": "code-sym-apprentice-fb1ebaf433bc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskEvaluatorConfig", + "summary": "class TaskEvaluatorConfig(BaseModel) (src/apprentice/evaluators.py:58) ## Methods - validate_custom_evaluator(cls, v, info)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 16, + "filePath": "src/apprentice/evaluators.py", + "id": "code-mod-apprentice-cf878b8f317c", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/evaluators.py", + "summary": "Language: Python | Path: src/apprentice/evaluators.py | ~739 lines ## Classes - EvaluationResult(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 2, + "filePath": "src/apprentice/event_handler.py", + "id": "code-sym-apprentice-a2f09cdca4e6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EventDispatcher", + "summary": "class EventDispatcher (src/apprentice/event_handler.py:70) ## Methods - close(self) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/event_handler.py", + "id": "code-mod-apprentice-ec2a8da1caa1", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/event_handler.py", + "summary": "Language: Python | Path: src/apprentice/event_handler.py | ~152 lines ## Classes - EventDispatcher", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-1738fd71da32", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Message", + "summary": "class Message(BaseModel) (src/apprentice/external_interfaces.py:64)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-25867fd21bea", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "UnavailableReason", + "summary": "class UnavailableReason(str, Enum) (src/apprentice/external_interfaces.py:38)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-25fe10311538", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RemoteAdapterConfig", + "summary": "class RemoteAdapterConfig(BaseModel) (src/apprentice/external_interfaces.py:209)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-3c4cd175f7ce", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalModelAdapter", + "summary": "class LocalModelAdapter (src/apprentice/external_interfaces.py:452) ## Methods - __aenter__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-3e4db604c1ca", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SourceInfo", + "summary": "class SourceInfo(BaseModel) (src/apprentice/external_interfaces.py:54)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-51d30639b8ca", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "HealthReport", + "summary": "class HealthReport(BaseModel) (src/apprentice/external_interfaces.py:109)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-53f89a74212e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SourceUnavailableError", + "summary": "class SourceUnavailableError(ModelClientError) (src/apprentice/external_interfaces.py:189)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-54c1688565f5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CompletionRequest", + "summary": "class CompletionRequest(BaseModel) (src/apprentice/external_interfaces.py:90)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-62b67f726b00", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CompletionResponse", + "summary": "class CompletionResponse(BaseModel) (src/apprentice/external_interfaces.py:97)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-8ff0332174af", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "UnifiedTokenUsage", + "summary": "class UnifiedTokenUsage(BaseModel) (src/apprentice/external_interfaces.py:80)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-911078fb2a31", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TerminalError", + "summary": "class TerminalError(ModelClientError) (src/apprentice/external_interfaces.py:173)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-97d6d5170c76", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PromotionReport", + "summary": "class PromotionReport(BaseModel) (src/apprentice/external_interfaces.py:119)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-9ea61c5c45e1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RetriableError", + "summary": "class RetriableError(ModelClientError) (src/apprentice/external_interfaces.py:155)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-ab843d6844ca", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalAdapterConfig", + "summary": "class LocalAdapterConfig(BaseModel) (src/apprentice/external_interfaces.py:222)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-c45a5a2d03c8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelClientError", + "summary": "class ModelClientError(Exception) (src/apprentice/external_interfaces.py:136)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-d238b4ce07a4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SourceType", + "summary": "class SourceType(str, Enum) (src/apprentice/external_interfaces.py:25)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-d431b536422e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "GenerationConfig", + "summary": "class GenerationConfig(BaseModel) (src/apprentice/external_interfaces.py:70)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-f32104e62ac6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Role", + "summary": "class Role(str, Enum) (src/apprentice/external_interfaces.py:31)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-sym-apprentice-ff1dde397ead", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RemoteModelAdapter", + "summary": "class RemoteModelAdapter (src/apprentice/external_interfaces.py:372) ## Methods - __aenter__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 25, + "filePath": "src/apprentice/external_interfaces.py", + "id": "code-mod-apprentice-d9632c802373", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/external_interfaces.py", + "summary": "Language: Python | Path: src/apprentice/external_interfaces.py | ~640 lines ## Classes - CompletionRequest(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/factory.py", + "id": "code-sym-apprentice-3b691d01dec7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterTrainingAdapter", + "summary": "class RouterTrainingAdapter (src/apprentice/factory.py:225) ## Methods - collect(self, example: Any) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/factory.py", + "id": "code-sym-apprentice-60c376ec4e9d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterConfidenceAdapter", + "summary": "class RouterConfidenceAdapter (src/apprentice/factory.py:81) ## Methods - get_phase_context(self, task_type: str) -> Any", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/factory.py", + "id": "code-sym-apprentice-88ca8a5da63c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterLocalAdapter", + "summary": "class RouterLocalAdapter (src/apprentice/factory.py:169) ## Methods - call(self, request: Any) -> Any", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/factory.py", + "id": "code-sym-apprentice-bd613f7dcbef", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterAuditAdapter", + "summary": "class RouterAuditAdapter (src/apprentice/factory.py:257) ## Methods - log(self, entry: Any) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/factory.py", + "id": "code-sym-apprentice-be71e7d1dcb4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterSamplingAdapter", + "summary": "class RouterSamplingAdapter (src/apprentice/factory.py:130) ## Methods - should_coach(self) -> bool", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/factory.py", + "id": "code-sym-apprentice-daf474aebab5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterBudgetAdapter", + "summary": "class RouterBudgetAdapter (src/apprentice/factory.py:22) ## Methods - check_budget(self) -> Any", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/factory.py", + "id": "code-sym-apprentice-e70f423f4c56", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterRemoteAdapter", + "summary": "class RouterRemoteAdapter (src/apprentice/factory.py:199) ## Methods - call(self, request: Any) -> Any", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/factory.py", + "id": "code-mod-apprentice-e250f0d85893", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/factory.py", + "summary": "Language: Python | Path: src/apprentice/factory.py | ~789 lines ## Classes - RouterAuditAdapter", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/feedback_collector.py", + "id": "code-sym-apprentice-631432820380", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackEntry", + "summary": "class FeedbackEntry(BaseModel) (src/apprentice/feedback_collector.py:47)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/feedback_collector.py", + "id": "code-sym-apprentice-81cc5b2105da", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackSummary", + "summary": "class FeedbackSummary(BaseModel) (src/apprentice/feedback_collector.py:61)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/feedback_collector.py", + "id": "code-sym-apprentice-82f232151680", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackCollector", + "summary": "class FeedbackCollector (src/apprentice/feedback_collector.py:88) ## Methods - compute_feedback_adjustment(self, task_name: str) -> float", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/feedback_collector.py", + "id": "code-sym-apprentice-8a4e88b682d9", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackType", + "summary": "class FeedbackType(str, Enum) (src/apprentice/feedback_collector.py:32)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/feedback_collector.py", + "id": "code-sym-apprentice-d45a1b562911", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackConfig", + "summary": "class FeedbackConfig(BaseModel) (src/apprentice/feedback_collector.py:76)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/feedback_collector.py", + "id": "code-mod-apprentice-99af4df423f2", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/feedback_collector.py", + "summary": "Language: Python | Path: src/apprentice/feedback_collector.py | ~249 lines ## Classes - FeedbackCollector", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-0c7d6dff15ca", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "KubernetesLoRAOrchestratorConfig", + "summary": "class KubernetesLoRAOrchestratorConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:214)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-21aaadb6b4e1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CommandRunner", + "summary": "class CommandRunner(ABC) (src/apprentice/fine_tuning_orchestrator.py:289) ## Methods - run_command( self, args: List[str], cwd: Optional[str] = None, timeout_seconds: int = 3600 ) -> CommandResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-2dfa6cdd354f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingExample", + "summary": "class TrainingExample(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:55) ## Methods - validate_iso8601(cls, v: str) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-2f904b46c6d2", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "QuantizationType", + "summary": "class QuantizationType(str, Enum) (src/apprentice/fine_tuning_orchestrator.py:38)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-30f691eb5f9e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OllamaRegistration", + "summary": "class OllamaRegistration(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:269)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-5a821ca27360", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FineTuneError", + "summary": "class FineTuneError(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:105) ## Methods - validate_iso8601(cls, v: str) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-5a90ec2f6722", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelVersion", + "summary": "class ModelVersion(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:124) ## Methods - validate_count_matches_ids(self) -> 'ModelVersion'", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-6dedc69e8195", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OrchestratorConfig", + "summary": "class OrchestratorConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:231)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-6f291420055a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OpenAIBackendConfig", + "summary": "class OpenAIBackendConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:188)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-82a273309016", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "UnslothBackendConfig", + "summary": "class UnslothBackendConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:172)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-89e94aedfa10", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FineTuneRequest", + "summary": "class FineTuneRequest(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:86)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-8a7a4d0675a8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "GGUFArtifact", + "summary": "class GGUFArtifact(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:261)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-90e5dfd17392", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "HyperparameterOverrides", + "summary": "class HyperparameterOverrides(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:74)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-928023b0c9de", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainArtifact", + "summary": "class TrainArtifact(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:253)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-99adebe04b73", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalNoOpOrchestratorConfig", + "summary": "class LocalNoOpOrchestratorConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:223)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-9ebe06fb2e38", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalNoOpBackend", + "summary": "class LocalNoOpBackend(FineTuneBackend) (src/apprentice/fine_tuning_orchestrator.py:303) ## Methods - fine_tune(self, request: FineTuneRequest) -> FineTuneResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-a038a04b6626", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingMetrics", + "summary": "class TrainingMetrics(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:96)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-a9bca4d3aaf8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FineTuneBackend", + "summary": "class FineTuneBackend(ABC) (src/apprentice/fine_tuning_orchestrator.py:280) ## Methods - fine_tune(self, request: FineTuneRequest) -> FineTuneResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-ad3fbc2a8140", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FineTuneErrorCategory", + "summary": "class FineTuneErrorCategory(str, Enum) (src/apprentice/fine_tuning_orchestrator.py:23)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-b422a8210014", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CommandResult", + "summary": "class CommandResult(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:244)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-c6d9928165b7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelVersionStore", + "summary": "class ModelVersionStore (src/apprentice/fine_tuning_orchestrator.py:359) ## Methods - get_latest_model_version(self) -> Optional[ModelVersion]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-d5de0a2a72f0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "HuggingFaceBackendConfig", + "summary": "class HuggingFaceBackendConfig(BaseModel) (src/apprentice/fine_tuning_orchestrator.py:199)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-e0b8f40d7893", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BackendType", + "summary": "class BackendType(str, Enum) (src/apprentice/fine_tuning_orchestrator.py:31)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-sym-apprentice-eaebc816d5c0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FineTuningOrchestrator", + "summary": "class FineTuningOrchestrator (src/apprentice/fine_tuning_orchestrator.py:484) ## Methods - trigger_fine_tuning( self, training_examples: List[TrainingExample], base_model: str, hyperparameter_overrides: Optional[HyperparameterOverrides] = None ) -> FineTuneResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 25, + "filePath": "src/apprentice/fine_tuning_orchestrator.py", + "id": "code-mod-apprentice-2bf9d68f63ad", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/fine_tuning_orchestrator.py", + "summary": "Language: Python | Path: src/apprentice/fine_tuning_orchestrator.py | ~597 lines ## Classes - BackendType(str, Enum)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/journey_evaluator.py", + "id": "code-sym-apprentice-17ba7228b91f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Step", + "summary": "class Step (src/apprentice/journey_evaluator.py:85)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/journey_evaluator.py", + "id": "code-sym-apprentice-25b9ce015483", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Story", + "summary": "class Story (src/apprentice/journey_evaluator.py:97)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/journey_evaluator.py", + "id": "code-sym-apprentice-87288dc308fd", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Weights", + "summary": "class Weights (src/apprentice/journey_evaluator.py:32)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/journey_evaluator.py", + "id": "code-sym-apprentice-8b197ad2790b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JourneyEvaluator", + "summary": "class JourneyEvaluator (src/apprentice/journey_evaluator.py:121) ## Methods - evaluate(self, story: Story) -> UnitScore", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/journey_evaluator.py", + "id": "code-sym-apprentice-9edc9921a451", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorConfig", + "summary": "class EvaluatorConfig (src/apprentice/journey_evaluator.py:42) ## Methods - __post_init__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/journey_evaluator.py", + "id": "code-sym-apprentice-d5773f8ae5dc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JourneyScore", + "summary": "class JourneyScore (src/apprentice/journey_evaluator.py:105)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 14, + "filePath": "src/apprentice/journey_evaluator.py", + "id": "code-mod-apprentice-c977facfc7be", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/journey_evaluator.py", + "summary": "Language: Python | Path: src/apprentice/journey_evaluator.py | ~302 lines ## Classes - EvaluatorConfig", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 2, + "filePath": "src/apprentice/kubernetes_lora_backend.py", + "id": "code-sym-apprentice-5e43f8c09308", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "KubernetesLoRABackend", + "summary": "class KubernetesLoRABackend(FineTuneBackend) (src/apprentice/kubernetes_lora_backend.py:121) ## Methods - cleanup_gcs_artifacts(self, run_id: str) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/kubernetes_lora_backend.py", + "id": "code-sym-apprentice-ba81bc975c18", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "KubernetesLoRABackendConfig", + "summary": "class KubernetesLoRABackendConfig(BaseModel) (src/apprentice/kubernetes_lora_backend.py:40)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/kubernetes_lora_backend.py", + "id": "code-mod-apprentice-1698980bbd1a", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/kubernetes_lora_backend.py", + "summary": "Language: Python | Path: src/apprentice/kubernetes_lora_backend.py | ~626 lines ## Classes - KubernetesLoRABackend(FineTuneBackend)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-00955f35f232", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BaseClientConfig", + "summary": "class BaseClientConfig(BaseModel) (src/apprentice/local_model_server.py:126)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-3a21c5da5d82", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalModelUnavailable", + "summary": "class LocalModelUnavailable(BaseModel) (src/apprentice/local_model_server.py:81) ## Methods - validate_result_type(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-475f20b819b7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OllamaClientConfig", + "summary": "class OllamaClientConfig(BaseClientConfig) (src/apprentice/local_model_server.py:135)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-47e640b1e2dc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InferenceSuccess", + "summary": "class InferenceSuccess(BaseModel) (src/apprentice/local_model_server.py:62) ## Methods - validate_result_type(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-511dc840eddb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PromotionResult", + "summary": "class PromotionResult(BaseModel) (src/apprentice/local_model_server.py:111)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-6bc30670b9f2", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "UnavailableReason", + "summary": "class UnavailableReason(str, Enum) (src/apprentice/local_model_server.py:23)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-710af128df4c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalBackendType", + "summary": "class LocalBackendType(str, Enum) (src/apprentice/local_model_server.py:42)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-7444f5e506e8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LlamaCppClient", + "summary": "class LlamaCppClient (src/apprentice/local_model_server.py:605) ## Methods - get_active_model(self) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-8ed426b2d6e0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "HealthStatus", + "summary": "class HealthStatus(BaseModel) (src/apprentice/local_model_server.py:101)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-8ff35e1c27d0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "VLLMClientConfig", + "summary": "class VLLMClientConfig(BaseClientConfig) (src/apprentice/local_model_server.py:142)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-c632239515b1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OllamaClient", + "summary": "class OllamaClient (src/apprentice/local_model_server.py:159) ## Methods - __aenter__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-e2daa50de8fa", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PromotionStatus", + "summary": "class PromotionStatus(str, Enum) (src/apprentice/local_model_server.py:32)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-f20bb1e90ccb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LlamaCppClientConfig", + "summary": "class LlamaCppClientConfig(BaseClientConfig) (src/apprentice/local_model_server.py:149)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-f88bc6a42b6c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InferenceRequest", + "summary": "class InferenceRequest(BaseModel) (src/apprentice/local_model_server.py:52)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-sym-apprentice-fa42470c44a1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "VLLMClient", + "summary": "class VLLMClient (src/apprentice/local_model_server.py:499) ## Methods - get_active_model(self) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 15, + "filePath": "src/apprentice/local_model_server.py", + "id": "code-mod-apprentice-0a44add2cd47", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/local_model_server.py", + "summary": "Language: Python | Path: src/apprentice/local_model_server.py | ~705 lines ## Classes - BaseClientConfig(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/middleware.py", + "id": "code-sym-apprentice-1bc977dc54c4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MiddlewareContext", + "summary": "class MiddlewareContext(BaseModel) (src/apprentice/middleware.py:30)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/middleware.py", + "id": "code-sym-apprentice-86a8cdb85c59", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MiddlewareResponse", + "summary": "class MiddlewareResponse(BaseModel) (src/apprentice/middleware.py:50)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/middleware.py", + "id": "code-sym-apprentice-95deecb4c2fc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MiddlewarePipeline", + "summary": "class MiddlewarePipeline (src/apprentice/middleware.py:119) ## Methods - execute_post( self, context: MiddlewareContext, response: MiddlewareResponse ) -> MiddlewareResponse", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/middleware.py", + "id": "code-sym-apprentice-962e6c58f3aa", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Middleware", + "summary": "class Middleware(Protocol) (src/apprentice/middleware.py:94) ## Methods - post_process( self, context: MiddlewareContext, response: MiddlewareResponse ) -> MiddlewareResponse", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/middleware.py", + "id": "code-sym-apprentice-9dee6fa10312", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MiddlewareError", + "summary": "class MiddlewareError(Exception) (src/apprentice/middleware.py:70)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 5, + "filePath": "src/apprentice/middleware.py", + "id": "code-mod-apprentice-b5da1f71cb29", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/middleware.py", + "summary": "Language: Python | Path: src/apprentice/middleware.py | ~194 lines ## Classes - Middleware(Protocol)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-17fb3330f13d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ThresholdComparison", + "summary": "class ThresholdComparison(str, Enum) (src/apprentice/model_validator.py:30)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-3bac50e4ae72", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TestSample", + "summary": "class TestSample(BaseModel) (src/apprentice/model_validator.py:94)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-64d483b85e3a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelValidator", + "summary": "class ModelValidator (src/apprentice/model_validator.py:163) ## Methods - get_validation_history( self, candidate_model_id: Optional[str] = None, limit: int = 50, ) -> List[PromotionRecord]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-725e8ea3677d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TestSet", + "summary": "class TestSet(BaseModel) (src/apprentice/model_validator.py:102)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-8ffbb99f9d53", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluationScore", + "summary": "class EvaluationScore(BaseModel) (src/apprentice/model_validator.py:108)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-a8203f5dbf19", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PromotionRecord", + "summary": "class PromotionRecord(BaseModel) (src/apprentice/model_validator.py:131)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-b2c94b0e8294", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ValidationConfig", + "summary": "class ValidationConfig(BaseModel) (src/apprentice/model_validator.py:55) ## Methods - validate_min_test_samples(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-b39a87004f47", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PromotionDecision", + "summary": "class PromotionDecision(str, Enum) (src/apprentice/model_validator.py:21)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-b3e29291aa9d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ValidationResult", + "summary": "class ValidationResult(BaseModel) (src/apprentice/model_validator.py:114)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-ca1c1c6e3e90", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelServerStatus", + "summary": "class ModelServerStatus(BaseModel) (src/apprentice/model_validator.py:143)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-e88b6535591a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SwapResult", + "summary": "class SwapResult(BaseModel) (src/apprentice/model_validator.py:150)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-fab197e06f5f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PerMetricThreshold", + "summary": "class PerMetricThreshold(BaseModel) (src/apprentice/model_validator.py:41) ## Methods - validate_min_score(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/model_validator.py", + "id": "code-sym-apprentice-fe1f80238d8e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TestSetReference", + "summary": "class TestSetReference(BaseModel) (src/apprentice/model_validator.py:85)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 13, + "filePath": "src/apprentice/model_validator.py", + "id": "code-mod-apprentice-2ddb51ce83da", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/model_validator.py", + "summary": "Language: Python | Path: src/apprentice/model_validator.py | ~601 lines ## Classes - EvaluationScore(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 5, + "filePath": "src/apprentice/observer.py", + "id": "code-sym-apprentice-02ffd4562192", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Observer", + "summary": "class Observer (src/apprentice/observer.py:97) ## Methods - clear(self, task_name: str) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/observer.py", + "id": "code-sym-apprentice-12dac1a0e790", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EventType", + "summary": "class EventType(str, Enum) (src/apprentice/observer.py:26)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/observer.py", + "id": "code-sym-apprentice-81db573e5d1a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ObservationEvent", + "summary": "class ObservationEvent(BaseModel) (src/apprentice/observer.py:38)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/observer.py", + "id": "code-sym-apprentice-9e4b767dd156", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ObserverConfig", + "summary": "class ObserverConfig(BaseModel) (src/apprentice/observer.py:62)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/observer.py", + "id": "code-sym-apprentice-ea6ff8b3dd58", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ShadowRecommendation", + "summary": "class ShadowRecommendation(BaseModel) (src/apprentice/observer.py:50)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/observer.py", + "id": "code-mod-apprentice-ffd91da06870", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/observer.py", + "summary": "Language: Python | Path: src/apprentice/observer.py | ~238 lines ## Classes - EventType(str, Enum)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-07e2b98f82e5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorRunResult", + "summary": "class EvaluatorRunResult(BaseModel) (src/apprentice/package_runtime.py:109)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-0ff066a3771e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PackageRegistryStore", + "summary": "class PackageRegistryStore (src/apprentice/package_runtime.py:174) ## Methods - load(self) -> Optional[dict[str,Any]]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-192ed3d8bd55", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AllowBuiltinToolPreflightClient", + "summary": "class AllowBuiltinToolPreflightClient(ToolPreflightClient) (src/apprentice/package_runtime.py:100) ## Methods - check(self, tool: ToolSpec, input_data: Mapping[str, Any]) -> ToolPreflightResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-2baf16d0ed1b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PackageValidationReport", + "summary": "class PackageValidationReport(BaseModel) (src/apprentice/package_runtime.py:44)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-515c25946f55", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ToolPreflightResult", + "summary": "class ToolPreflightResult(BaseModel) (src/apprentice/package_runtime.py:80)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-559f89ea592e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CredentialResolution", + "summary": "class CredentialResolution(BaseModel) (src/apprentice/package_runtime.py:56)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-636bea536eea", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PackageDiagnostic", + "summary": "class PackageDiagnostic(BaseModel) (src/apprentice/package_runtime.py:34)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-d43087c634ac", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PackageSkillStatus", + "summary": "class PackageSkillStatus(BaseModel) (src/apprentice/package_runtime.py:121)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-d6d62e018e90", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ToolInvocationResult", + "summary": "class ToolInvocationResult(BaseModel) (src/apprentice/package_runtime.py:67)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-dcedf53f2d6a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PackageRuntimeState", + "summary": "class PackageRuntimeState (src/apprentice/package_runtime.py:133) ## Methods - all_statuses(self) -> list[PackageSkillStatus]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-e77c66697f35", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CredentialResolver", + "summary": "class CredentialResolver (src/apprentice/package_runtime.py:206) ## Methods - diagnose(self, auth_ref: str) -> CredentialResolution", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-sym-apprentice-fecb991faa3a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ToolPreflightClient", + "summary": "class ToolPreflightClient (src/apprentice/package_runtime.py:90) ## Methods - check(self, tool: ToolSpec, input_data: Mapping[str, Any]) -> ToolPreflightResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 21, + "filePath": "src/apprentice/package_runtime.py", + "id": "code-mod-apprentice-c0e74683670f", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/package_runtime.py", + "summary": "Language: Python | Path: src/apprentice/package_runtime.py | ~445 lines ## Classes - AllowBuiltinToolPreflightClient(ToolPreflightClient)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-1a7b73d603ee", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Phase", + "summary": "class Phase(str, Enum) (src/apprentice/phase_manager.py:36) ## Methods - level(self) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-1f5afd7b10f5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrendDirection", + "summary": "class TrendDirection(str, Enum) (src/apprentice/phase_manager.py:48)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-238079747864", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseTransition", + "summary": "class PhaseTransition(BaseModel) (src/apprentice/phase_manager.py:114)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-30f13d064cc3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskPhaseState", + "summary": "class TaskPhaseState(BaseModel) (src/apprentice/phase_manager.py:132)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-3744945d97ec", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskPhaseStateMap", + "summary": "class TaskPhaseStateMap(BaseModel) (src/apprentice/phase_manager.py:147)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 5, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-3b54c74322ba", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseManager", + "summary": "class PhaseManager (src/apprentice/phase_manager.py:263) ## Methods - evaluate( self, metrics: PhaseMetrics, thresholds: PhaseThresholds, ) -> EvaluateResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-4f900fb9a6c9", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseComputationResult", + "summary": "class PhaseComputationResult(BaseModel) (src/apprentice/phase_manager.py:126)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-5117d87bea5e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "_get_global_manager.SystemClock", + "summary": "class SystemClock (src/apprentice/phase_manager.py:426)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-6a1834a340cc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseThresholds", + "summary": "class PhaseThresholds(BaseModel) (src/apprentice/phase_manager.py:79) ## Methods - validate_threshold_ordering(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-6b512dd031b1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Clock", + "summary": "class Clock(Protocol) (src/apprentice/phase_manager.py:68) ## Methods - now(self) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-73f20d6525f9", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseMetrics", + "summary": "class PhaseMetrics(BaseModel) (src/apprentice/phase_manager.py:102)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-88e7b6d6a4d3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PactFormatter", + "summary": "class PactFormatter(logging.Formatter) (src/apprentice/phase_manager.py:19) ## Methods - format(self, record)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-a4a4fb554963", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TransitionTrigger", + "summary": "class TransitionTrigger(str, Enum) (src/apprentice/phase_manager.py:55)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-sym-apprentice-f137e82a9ecf", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluateResult", + "summary": "class EvaluateResult(BaseModel) (src/apprentice/phase_manager.py:140)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 23, + "filePath": "src/apprentice/phase_manager.py", + "id": "code-mod-apprentice-1f9cceef3863", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/phase_manager.py", + "summary": "Language: Python | Path: src/apprentice/phase_manager.py | ~481 lines ## Classes - Clock(Protocol)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 2, + "filePath": "src/apprentice/phase_tracking.py", + "id": "code-sym-apprentice-1f280475e2a1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StoryMetricsStore", + "summary": "class StoryMetricsStore (src/apprentice/phase_tracking.py:97) ## Methods - get(self, story_type: str) -> PhaseMetrics", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_tracking.py", + "id": "code-sym-apprentice-4e4bcdd435e4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseComputationResult", + "summary": "class PhaseComputationResult (src/apprentice/phase_tracking.py:113)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/phase_tracking.py", + "id": "code-sym-apprentice-7050655a9637", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseMetrics", + "summary": "class PhaseMetrics (src/apprentice/phase_tracking.py:44) ## Methods - __post_init__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_tracking.py", + "id": "code-sym-apprentice-9cdf1864bcd3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MetricEvent", + "summary": "class MetricEvent (src/apprentice/phase_tracking.py:121)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/phase_tracking.py", + "id": "code-sym-apprentice-ad0effd1d6de", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Phase", + "summary": "class Phase(str, Enum) (src/apprentice/phase_tracking.py:25) ## Methods - level(self) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/phase_tracking.py", + "id": "code-sym-apprentice-b7cdb59274ad", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseTracker", + "summary": "class PhaseTracker (src/apprentice/phase_tracking.py:193) ## Methods - compute_phase(self, story_type: Optional[str] = None) -> PhaseComputationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 17, + "filePath": "src/apprentice/phase_tracking.py", + "id": "code-mod-apprentice-4174c65f149a", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/phase_tracking.py", + "summary": "Language: Python | Path: src/apprentice/phase_tracking.py | ~323 lines ## Classes - MetricEvent", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 3, + "filePath": "src/apprentice/pii_detection.py", + "id": "code-sym-apprentice-8782ce1b0e09", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CompositeDetectionPipeline", + "summary": "class CompositeDetectionPipeline (src/apprentice/pii_detection.py:373) ## Methods - add_strategy(self, strategy: Any) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/pii_detection.py", + "id": "code-sym-apprentice-a8d2e0b1841b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "NERDetectionStrategy", + "summary": "class NERDetectionStrategy (src/apprentice/pii_detection.py:260) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/pii_detection.py", + "id": "code-sym-apprentice-ab67aa43f52e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIIDetection", + "summary": "class PIIDetection(BaseModel) (src/apprentice/pii_detection.py:32)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/pii_detection.py", + "id": "code-sym-apprentice-b7b853da0cd6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RegexDetectionStrategy", + "summary": "class RegexDetectionStrategy (src/apprentice/pii_detection.py:87) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/pii_detection.py", + "id": "code-sym-apprentice-e600dc2dafbb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FieldHeuristicStrategy", + "summary": "class FieldHeuristicStrategy (src/apprentice/pii_detection.py:148) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/pii_detection.py", + "id": "code-sym-apprentice-ebb56c805e06", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DetectionStrategy", + "summary": "class DetectionStrategy(Protocol) (src/apprentice/pii_detection.py:59) ## Methods - detect(self, text: str, field_path: str = \"\") -> list[PIIDetection]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/pii_detection.py", + "id": "code-mod-apprentice-b5f70562b149", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/pii_detection.py", + "summary": "Language: Python | Path: src/apprentice/pii_detection.py | ~389 lines ## Classes - CompositeDetectionPipeline", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/pii_evaluation.py", + "id": "code-sym-apprentice-728f72d01213", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIIDetectionEvaluator", + "summary": "class PIIDetectionEvaluator (src/apprentice/pii_evaluation.py:73) ## Methods - evaluate( self, predictions: list[PIIDetection], ground_truth: list[PIIDetection], ) -> PIIEvaluationResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/pii_evaluation.py", + "id": "code-sym-apprentice-79112d4c05c1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIIEvaluationResult", + "summary": "class PIIEvaluationResult(BaseModel) (src/apprentice/pii_evaluation.py:31)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/pii_evaluation.py", + "id": "code-sym-apprentice-93ecd5210ccc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EntityMetrics", + "summary": "class EntityMetrics(BaseModel) (src/apprentice/pii_evaluation.py:18)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 5, + "filePath": "src/apprentice/pii_evaluation.py", + "id": "code-mod-apprentice-f56c09bf9856", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/pii_evaluation.py", + "summary": "Language: Python | Path: src/apprentice/pii_evaluation.py | ~82 lines ## Classes - EntityMetrics(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 5, + "filePath": "src/apprentice/pii_tokenizer.py", + "id": "code-sym-apprentice-3eda52a0a4e6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LearnedPatternStore", + "summary": "class LearnedPatternStore (src/apprentice/pii_tokenizer.py:161) ## Methods - flush(self) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/pii_tokenizer.py", + "id": "code-sym-apprentice-9d031e321a28", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIITokenizerConfig", + "summary": "class PIITokenizerConfig(BaseModel) (src/apprentice/pii_tokenizer.py:48)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/pii_tokenizer.py", + "id": "code-sym-apprentice-df153a561c9c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FieldPIIStats", + "summary": "class FieldPIIStats(BaseModel) (src/apprentice/pii_tokenizer.py:136) ## Methods - computed_confidence(self) -> float", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/pii_tokenizer.py", + "id": "code-sym-apprentice-ed282445f7e2", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TokenRegistry", + "summary": "class TokenRegistry (src/apprentice/pii_tokenizer.py:87) ## Methods - clear(self) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/pii_tokenizer.py", + "id": "code-sym-apprentice-ff31ede95377", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PIITokenizer", + "summary": "class PIITokenizer (src/apprentice/pii_tokenizer.py:408) ## Methods - post_process( self, context: MiddlewareContext, response: MiddlewareResponse ) -> MiddlewareResponse", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 9, + "filePath": "src/apprentice/pii_tokenizer.py", + "id": "code-mod-apprentice-b627511984c7", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/pii_tokenizer.py", + "summary": "Language: Python | Path: src/apprentice/pii_tokenizer.py | ~488 lines ## Classes - FieldPIIStats(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/plugin_registry.py", + "id": "code-sym-apprentice-50668ace6850", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DuplicatePluginError", + "summary": "class DuplicatePluginError(PluginError) (src/apprentice/plugin_registry.py:24)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/plugin_registry.py", + "id": "code-sym-apprentice-53d498396397", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PluginConfigError", + "summary": "class PluginConfigError(PluginError) (src/apprentice/plugin_registry.py:46)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 5, + "filePath": "src/apprentice/plugin_registry.py", + "id": "code-sym-apprentice-9ab08d72e5ef", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PluginRegistrySet", + "summary": "class PluginRegistrySet (src/apprentice/plugin_registry.py:146) ## Methods - get_registry(self, domain: str) -> PluginRegistry", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/plugin_registry.py", + "id": "code-sym-apprentice-a8a9a15dce84", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "UnknownPluginError", + "summary": "class UnknownPluginError(PluginError) (src/apprentice/plugin_registry.py:33)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/plugin_registry.py", + "id": "code-sym-apprentice-caa6afa0bc0f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PluginRegistry", + "summary": "class PluginRegistry (src/apprentice/plugin_registry.py:81) ## Methods - __contains__(self, name: str) -> bool", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/plugin_registry.py", + "id": "code-sym-apprentice-f8c886701c47", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PluginError", + "summary": "class PluginError(Exception) (src/apprentice/plugin_registry.py:20)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/plugin_registry.py", + "id": "code-mod-apprentice-7fa8b703f13e", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/plugin_registry.py", + "summary": "Language: Python | Path: src/apprentice/plugin_registry.py | ~231 lines ## Classes - DuplicatePluginError(PluginError)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-0990e83f6fa3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AnthropicClient", + "summary": "class AnthropicClient(BaseRemoteClient) (src/apprentice/remote_api_client.py:381)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-109ed9bbd35d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "MessageRole", + "summary": "class MessageRole(Enum) (src/apprentice/remote_api_client.py:32)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-2250fa629391", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RemoteClientConfig", + "summary": "class RemoteClientConfig(BaseModel) (src/apprentice/remote_api_client.py:79)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-282fa07acc28", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RemoteUnavailableError", + "summary": "class RemoteUnavailableError(RemoteClientError) (src/apprentice/remote_api_client.py:182)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-2f3c451f27da", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TokenPricing", + "summary": "class TokenPricing(BaseModel) (src/apprentice/remote_api_client.py:51)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-36637edc4245", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RemoteClientError", + "summary": "class RemoteClientError(Exception) (src/apprentice/remote_api_client.py:142)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-435caae2fed3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TokenUsage", + "summary": "class TokenUsage(BaseModel) (src/apprentice/remote_api_client.py:43)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-451391f1ce68", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ProviderName", + "summary": "class ProviderName(Enum) (src/apprentice/remote_api_client.py:25)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-4bbb5b609cf7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PromptMessage", + "summary": "class PromptMessage(BaseModel) (src/apprentice/remote_api_client.py:124)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-53fcb8c4a476", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InvalidRequestError", + "summary": "class InvalidRequestError(RemoteClientError) (src/apprentice/remote_api_client.py:198)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-583a9b73e482", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ErrorInfo", + "summary": "class ErrorInfo(BaseModel) (src/apprentice/remote_api_client.py:106)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-5db84766697d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RateLimitError", + "summary": "class RateLimitError(RemoteClientError) (src/apprentice/remote_api_client.py:166)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-687107ce0745", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TimeoutConfig", + "summary": "class TimeoutConfig(BaseModel) (src/apprentice/remote_api_client.py:72)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-78e342bad5e0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DiversityResult", + "summary": "class DiversityResult(BaseModel) (src/apprentice/remote_api_client.py:117)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-892f600a6388", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PricingTable", + "summary": "class PricingTable(BaseModel) (src/apprentice/remote_api_client.py:59)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-cb046538b4a7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RetryConfig", + "summary": "class RetryConfig(BaseModel) (src/apprentice/remote_api_client.py:64)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-d7c232925557", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "GenerationParams", + "summary": "class GenerationParams(BaseModel) (src/apprentice/remote_api_client.py:130)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-ec48bc0862bb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OpenAIClient", + "summary": "class OpenAIClient(BaseRemoteClient) (src/apprentice/remote_api_client.py:516)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-eecb4874144d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuthError", + "summary": "class AuthError(RemoteClientError) (src/apprentice/remote_api_client.py:161)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-f15e0dbbc79b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BaseRemoteClient", + "summary": "class BaseRemoteClient(ABC) (src/apprentice/remote_api_client.py:252) ## Methods - __repr__(self) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-sym-apprentice-fe84e8be6c95", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskResponse", + "summary": "class TaskResponse(BaseModel) (src/apprentice/remote_api_client.py:93)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 25, + "filePath": "src/apprentice/remote_api_client.py", + "id": "code-mod-apprentice-5aeba9d79e32", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/remote_api_client.py", + "summary": "Language: Python | Path: src/apprentice/remote_api_client.py | ~709 lines ## Classes - AnthropicClient(BaseRemoteClient)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/core.py", + "id": "code-sym-apprentice-18e54562cb38", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ReportGenerator", + "summary": "class ReportGenerator (src/apprentice/report_generator/core.py:21) ## Methods - generate_report(self, config: ReportConfig) -> SystemReport", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/core.py", + "id": "code-sym-apprentice-1f1c402b864e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "WebhookDelivery", + "summary": "class WebhookDelivery (src/apprentice/report_generator/core.py:173) ## Methods - deliver_webhook( self, report: SystemReport, webhook_url: str, timeout_seconds: int ) -> DeliveryResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/core.py", + "id": "code-sym-apprentice-39c3086e4000", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ReportFormatter", + "summary": "class ReportFormatter (src/apprentice/report_generator/core.py:86) ## Methods - format_report(self, report: SystemReport, output_format: str) -> FormattedReport", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/report_generator/core.py", + "id": "code-mod-apprentice-47cb5b732738", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/report_generator/core.py", + "summary": "Language: Python | Path: src/apprentice/report_generator/core.py | ~179 lines ## Classes - ReportFormatter", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/exceptions.py", + "id": "code-sym-apprentice-4bd096f2f039", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfigValidationError", + "summary": "class ConfigValidationError(Exception) (src/apprentice/report_generator/exceptions.py:6)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/exceptions.py", + "id": "code-sym-apprentice-7ec1c4233e12", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DataSourceError", + "summary": "class DataSourceError(Exception) (src/apprentice/report_generator/exceptions.py:11)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/exceptions.py", + "id": "code-sym-apprentice-bfad146df017", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FormattingError", + "summary": "class FormattingError(Exception) (src/apprentice/report_generator/exceptions.py:21)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/exceptions.py", + "id": "code-sym-apprentice-d9c6360da895", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EmptyReportError", + "summary": "class EmptyReportError(Exception) (src/apprentice/report_generator/exceptions.py:16)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/report_generator/exceptions.py", + "id": "code-mod-apprentice-778f4e5a0cd4", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/report_generator/exceptions.py", + "summary": "Language: Python | Path: src/apprentice/report_generator/exceptions.py | ~21 lines ## Classes - ConfigValidationError(Exception)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-06a5682b61b8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AlertType", + "summary": "class AlertType(str, Enum) (src/apprentice/report_generator/models.py:28)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-1146d58607f4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskConfidenceReport", + "summary": "class TaskConfidenceReport(BaseModel) (src/apprentice/report_generator/models.py:55) ## Methods - validate_confidence_score(cls, v: float) -> float", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-13d3cef376c6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ReportConfig", + "summary": "class ReportConfig(BaseModel) (src/apprentice/report_generator/models.py:188)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-2d6251043c69", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CorrelationHistory", + "summary": "class CorrelationHistory(BaseModel) (src/apprentice/report_generator/models.py:132) ## Methods - validate_windows_available(cls, v: int) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-32c1a3269918", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DeliveryResult", + "summary": "class DeliveryResult(BaseModel) (src/apprentice/report_generator/models.py:198) ## Methods - validate_duration_ms(cls, v: int) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-37a1eb566f1e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DeliveryStatus", + "summary": "class DeliveryStatus(str, Enum) (src/apprentice/report_generator/models.py:44)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-49ca55ec0d1e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrendDirection", + "summary": "class TrendDirection(str, Enum) (src/apprentice/report_generator/models.py:14)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-5951023f634e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AlertSeverity", + "summary": "class AlertSeverity(str, Enum) (src/apprentice/report_generator/models.py:21)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-5ea6e90a3f1d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CorrelationWindow", + "summary": "class CorrelationWindow(BaseModel) (src/apprentice/report_generator/models.py:99) ## Methods - validate_correlation_score(cls, v: float) -> float", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-7da358622aaa", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FormattedReport", + "summary": "class FormattedReport(BaseModel) (src/apprentice/report_generator/models.py:217) ## Methods - validate_content_length(cls, v: int) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-8caa4631ab89", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CostBreakdown", + "summary": "class CostBreakdown(BaseModel) (src/apprentice/report_generator/models.py:80) ## Methods - validate_budget_utilization_pct(cls, v: float) -> float", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-93665802ae17", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SystemReport", + "summary": "class SystemReport(BaseModel) (src/apprentice/report_generator/models.py:168) ## Methods - validate_task_types_count(cls, v: int) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-d7b699fb8c6f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Alert", + "summary": "class Alert(BaseModel) (src/apprentice/report_generator/models.py:156)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-sym-apprentice-e1e4bb4d841c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ReportFormat", + "summary": "class ReportFormat(str, Enum) (src/apprentice/report_generator/models.py:38)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 14, + "filePath": "src/apprentice/report_generator/models.py", + "id": "code-mod-apprentice-bbfebc12095e", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/report_generator/models.py", + "summary": "Language: Python | Path: src/apprentice/report_generator/models.py | ~228 lines ## Classes - Alert(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 4, + "filePath": "src/apprentice/report_generator/report_generator.py", + "id": "code-mod-apprentice-90f3611e37ae", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/report_generator/report_generator.py", + "summary": "Language: Python | Path: src/apprentice/report_generator/report_generator.py | ~110 lines ## Functions - deliver_webhook( report: SystemReport, webhook_url: str, timeout_seconds: int ) -> DeliveryResult", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 3, + "filePath": "src/apprentice/reporting.py", + "id": "code-sym-apprentice-7e766569c924", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditDataSource", + "summary": "class AuditDataSource(Protocol) (src/apprentice/reporting.py:125) ## Methods - entries_by_task(self, task_name: str) -> AuditEntryList", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/reporting.py", + "id": "code-sym-apprentice-9ed747ed9d2e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceDataSource", + "summary": "class ConfidenceDataSource(Protocol) (src/apprentice/reporting.py:81) ## Methods - get_confidence(self, task_type: str) -> float", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 6, + "filePath": "src/apprentice/reporting.py", + "id": "code-sym-apprentice-f3f1a69a2aed", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetDataSource", + "summary": "class BudgetDataSource(Protocol) (src/apprentice/reporting.py:103) ## Methods - get_budget_limit(self) -> str", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/reporting.py", + "id": "code-mod-apprentice-d1f56cbb4596", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/reporting.py", + "summary": "Language: Python | Path: src/apprentice/reporting.py | ~262 lines ## Classes - AuditDataSource(Protocol)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-12da83323923", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "WindowAggregate", + "summary": "class WindowAggregate(BaseModel) (src/apprentice/rolling_window.py:71)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-2bffa89e7961", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ValidationError", + "summary": "class ValidationError(Exception) (src/apprentice/rolling_window.py:99)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-3e22697d494a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JsonFileWindowStore", + "summary": "class JsonFileWindowStore (src/apprentice/rolling_window.py:358) ## Methods - load(self, task_type: str) -> ComparisonPairList", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-49b6368a2950", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ComparisonPairInput", + "summary": "class ComparisonPairInput(BaseModel) (src/apprentice/rolling_window.py:58)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-5a8caff7c6b8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PersistenceError", + "summary": "class PersistenceError(Exception) (src/apprentice/rolling_window.py:104)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-6e18c5fe3d67", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ComparisonPair", + "summary": "class ComparisonPair(BaseModel) (src/apprentice/rolling_window.py:47)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-7d32d338e6eb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DequeRollingWindow", + "summary": "class DequeRollingWindow (src/apprentice/rolling_window.py:129) ## Methods - __len__(self) -> int", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-9feda4a0872c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "WindowStore", + "summary": "class WindowStore(Protocol) (src/apprentice/rolling_window.py:114) ## Methods - load(self, task_type: str) -> ComparisonPairList", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-d533f8ea7f35", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrendDirection", + "summary": "class TrendDirection(Enum) (src/apprentice/rolling_window.py:39)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-f387336f9785", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "WindowConfig", + "summary": "class WindowConfig(BaseModel) (src/apprentice/rolling_window.py:83)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-f70272e3ccae", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StoreConfig", + "summary": "class StoreConfig(BaseModel) (src/apprentice/rolling_window.py:89)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-sym-apprentice-fb13d3e6da7c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PactFormatter", + "summary": "class PactFormatter(logging.Formatter) (src/apprentice/rolling_window.py:21) ## Methods - format(self, record)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 13, + "filePath": "src/apprentice/rolling_window.py", + "id": "code-mod-apprentice-dd5d89009dab", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/rolling_window.py", + "summary": "Language: Python | Path: src/apprentice/rolling_window.py | ~482 lines ## Classes - ComparisonPair(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/__init__.py", + "id": "code-mod-apprentice-72afa61c9f97", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/root/__init__.py", + "summary": "Language: Python | Path: src/apprentice/root/__init__.py | ~29 lines", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-017716b1bd09", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceEngine", + "summary": "class ConfidenceEngine (src/apprentice/root/composition.py:274)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-25d9d556203c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RequestCorrelation", + "summary": "class RequestCorrelation (src/apprentice/root/composition.py:86)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-35da23c435b7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ComponentStatusEntry", + "summary": "class ComponentStatusEntry (src/apprentice/root/composition.py:97)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-6879432b5ee0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FinetuningBackendName", + "summary": "class FinetuningBackendName(str, Enum) (src/apprentice/root/composition.py:62)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-6b7667254f0f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ComponentId", + "summary": "class ComponentId(str, Enum) (src/apprentice/root/composition.py:49)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-8b41c11f7496", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "JsonLinesAuditLogger", + "summary": "class JsonLinesAuditLogger (src/apprentice/root/composition.py:284)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-94060390f38f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ComponentStatus", + "summary": "class ComponentStatus(str, Enum) (src/apprentice/root/composition.py:40)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-95dce4eccce8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetManager", + "summary": "class BudgetManager (src/apprentice/root/composition.py:269)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-a1345a5a251d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BackendRegistry", + "summary": "class BackendRegistry (src/apprentice/root/composition.py:128)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-b24d9f7a9af4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AllSourcesUnavailableError", + "summary": "class AllSourcesUnavailableError(Exception) (src/apprentice/root/composition.py:143)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-b80d96588eea", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LifecycleEvent", + "summary": "class LifecycleEvent(str, Enum) (src/apprentice/root/composition.py:70)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-ba5560be1dba", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BackendRegistryEntry", + "summary": "class BackendRegistryEntry (src/apprentice/root/composition.py:117)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-bd6737af8b65", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ShutdownError", + "summary": "class ShutdownError(Exception) (src/apprentice/root/composition.py:187)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-db889184d1d6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InitializationPhase", + "summary": "class InitializationPhase(str, Enum) (src/apprentice/root/composition.py:26)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-e454bbeaeb40", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InitializationError", + "summary": "class InitializationError(Exception) (src/apprentice/root/composition.py:168)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/root/composition.py", + "id": "code-sym-apprentice-e6795e6ba453", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Router", + "summary": "class Router (src/apprentice/root/composition.py:279)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 30, + "filePath": "src/apprentice/root/composition.py", + "id": "code-mod-apprentice-bce9535eb9ab", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/root/composition.py", + "summary": "Language: Python | Path: src/apprentice/root/composition.py | ~944 lines ## Classes - AllSourcesUnavailableError(Exception)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-054f45358d09", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingExampleType", + "summary": "class TrainingExampleType(str, Enum) (src/apprentice/router.py:45)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-0b2afe61b3c6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceEngine", + "summary": "class ConfidenceEngine(Protocol) (src/apprentice/router.py:192) ## Methods - get_phase_context(self, task_type: str) -> PhaseContext", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-1037e30b4324", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetSnapshot", + "summary": "class BudgetSnapshot(BaseModel) (src/apprentice/router.py:76)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-1399284bfac1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RoutingResult", + "summary": "class RoutingResult(BaseModel) (src/apprentice/router.py:98)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-252dbbaa4788", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RoutingAction", + "summary": "class RoutingAction(str, Enum) (src/apprentice/router.py:28)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-2d4b84405910", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RoutingDecision", + "summary": "class RoutingDecision(BaseModel) (src/apprentice/router.py:90)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-2dffb4b84955", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RequestRouter", + "summary": "class RequestRouter (src/apprentice/router.py:309) ## Methods - execute_dual_send(self, request: TaskRequest) -> DualSendResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-41bd38128171", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RemoteModelBackend", + "summary": "class RemoteModelBackend(Protocol) (src/apprentice/router.py:207) ## Methods - call(self, request: TaskRequest) -> ModelResponse", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-4ba2c0bdf563", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RouterConfig", + "summary": "class RouterConfig(BaseModel) (src/apprentice/router.py:159)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-62a4f5006de6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AuditLogger", + "summary": "class AuditLogger(Protocol) (src/apprentice/router.py:217) ## Methods - log(self, entry: RoutingAuditEntry) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-8031f32be9e2", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DualSendOutcome", + "summary": "class DualSendOutcome(str, Enum) (src/apprentice/router.py:37)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-85bf5cf3d577", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SamplingScheduler", + "summary": "class SamplingScheduler(Protocol) (src/apprentice/router.py:197) ## Methods - should_coach(self) -> bool", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-87095b604092", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskRequest", + "summary": "class TaskRequest(BaseModel) (src/apprentice/router.py:55)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-8bf6e17d9c23", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseContext", + "summary": "class PhaseContext(BaseModel) (src/apprentice/router.py:84)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-8ea685645235", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Phase", + "summary": "class Phase(str, Enum) (src/apprentice/router.py:21)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-94d0ca18d31c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DualSendResult", + "summary": "class DualSendResult(BaseModel) (src/apprentice/router.py:135)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-a1c22781f5c1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingExample", + "summary": "class TrainingExample(BaseModel) (src/apprentice/router.py:146)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-adbf3c348485", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingDataCollector", + "summary": "class TrainingDataCollector(Protocol) (src/apprentice/router.py:212) ## Methods - collect(self, example: TrainingExample) -> None", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-be67fca5c732", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RoutingError", + "summary": "class RoutingError(Exception) (src/apprentice/router.py:172)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-c842611b6140", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelResponse", + "summary": "class ModelResponse(BaseModel) (src/apprentice/router.py:64)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-d30d23b34252", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetManager", + "summary": "class BudgetManager(Protocol) (src/apprentice/router.py:186) ## Methods - check_budget(self) -> BudgetSnapshot", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-dcbb1698157d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RoutingAuditEntry", + "summary": "class RoutingAuditEntry(BaseModel) (src/apprentice/router.py:115)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-e59c0fd9f07c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LocalModelBackend", + "summary": "class LocalModelBackend(Protocol) (src/apprentice/router.py:202) ## Methods - call(self, request: TaskRequest) -> ModelResponse", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/router.py", + "id": "code-sym-apprentice-ec63e5bb5f90", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ValidationError", + "summary": "class ValidationError(Exception) (src/apprentice/router.py:177)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 26, + "filePath": "src/apprentice/router.py", + "id": "code-mod-apprentice-d129ec7b3fe6", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/router.py", + "summary": "Language: Python | Path: src/apprentice/router.py | ~725 lines ## Classes - AuditLogger(Protocol)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 4, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-sym-apprentice-505f6790b4ab", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SamplingSchedulerConfig", + "summary": "class SamplingSchedulerConfig(BaseModel) (src/apprentice/sampling_scheduler.py:83) ## Methods - validate_min_floor(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-sym-apprentice-5ade6e1df813", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SamplingPhase", + "summary": "class SamplingPhase(str, Enum) (src/apprentice/sampling_scheduler.py:19)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-sym-apprentice-757e883f9d64", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AdaptiveSamplingScheduler", + "summary": "class AdaptiveSamplingScheduler (src/apprentice/sampling_scheduler.py:272) ## Methods - should_sample(self, snapshot: ConfidenceSnapshot) -> SamplingDecision", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-sym-apprentice-764b1358c4e4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SamplingDecision", + "summary": "class SamplingDecision(BaseModel) (src/apprentice/sampling_scheduler.py:159) ## Methods - validate_reason(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-sym-apprentice-8d387f6a412f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DecayFunctionParams", + "summary": "class DecayFunctionParams(BaseModel) (src/apprentice/sampling_scheduler.py:39) ## Methods - validate_rate(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 2, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-sym-apprentice-d8cc2b65cacb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceSnapshot", + "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/sampling_scheduler.py:137) ## Methods - validate_correlation(cls, v)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-sym-apprentice-fd924eb0d748", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DecayFunctionName", + "summary": "class DecayFunctionName(str, Enum) (src/apprentice/sampling_scheduler.py:27)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 10, + "filePath": "src/apprentice/sampling_scheduler.py", + "id": "code-mod-apprentice-ad0541b8a96a", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/sampling_scheduler.py", + "summary": "Language: Python | Path: src/apprentice/sampling_scheduler.py | ~416 lines ## Classes - AdaptiveSamplingScheduler", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-0b7adcddcfd0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ArtifactSpec", + "summary": "class ArtifactSpec(BaseModel) (src/apprentice/skill_package.py:178)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-1b5c3962a21b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConstraintCheckResult", + "summary": "class ConstraintCheckResult(BaseModel) (src/apprentice/skill_package.py:46)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-205de453a6ab", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CompatibilitySpec", + "summary": "class CompatibilitySpec(BaseModel) (src/apprentice/skill_package.py:55)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-3152f3f3068c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackSignalSpec", + "summary": "class FeedbackSignalSpec(BaseModel) (src/apprentice/skill_package.py:190)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-33939f79dc0f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ActionSpec", + "summary": "class ActionSpec(BaseModel) (src/apprentice/skill_package.py:135)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-4873042120ee", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "InvocationSpec", + "summary": "class InvocationSpec(BaseModel) (src/apprentice/skill_package.py:78)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-5987c09cf27e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RuntimeBindingSpec", + "summary": "class RuntimeBindingSpec(BaseModel) (src/apprentice/skill_package.py:65)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-6fd13b388efb", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConstraintSpec", + "summary": "class ConstraintSpec(BaseModel) (src/apprentice/skill_package.py:104) ## Methods - validate_applies_to(cls, scopes: list[str]) -> list[str]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-98930e20788c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConstraintViolation", + "summary": "class ConstraintViolation(BaseModel) (src/apprentice/skill_package.py:35)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-a1066cbd8043", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ParameterSpec", + "summary": "class ParameterSpec(BaseModel) (src/apprentice/skill_package.py:92)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-a302728cf893", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SkillPackage", + "summary": "class SkillPackage(BaseModel) (src/apprentice/skill_package.py:255) ## Methods - check_constraints( self, skill_name: str, *, action_name: Optional[str] = None, context: Optional[JsonObject] = None, ) -> ConstraintCheckResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-bcae2e3ed0cf", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EventMappingSpec", + "summary": "class EventMappingSpec(BaseModel) (src/apprentice/skill_package.py:200)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-c328d5ff87db", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OutcomeSpec", + "summary": "class OutcomeSpec(BaseModel) (src/apprentice/skill_package.py:124)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-e64910957d85", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ToolSpec", + "summary": "class ToolSpec(BaseModel) (src/apprentice/skill_package.py:148)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-eb7b092ffabc", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorSpec", + "summary": "class EvaluatorSpec(BaseModel) (src/apprentice/skill_package.py:165)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/skill_package.py", + "id": "code-sym-apprentice-f374aa34e81f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SkillSpec", + "summary": "class SkillSpec(BaseModel) (src/apprentice/skill_package.py:215) ## Methods - action_for(self, name: str) -> Optional[ActionSpec]", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 28, + "filePath": "src/apprentice/skill_package.py", + "id": "code-mod-apprentice-8cb1418b8ce0", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/skill_package.py", + "summary": "Language: Python | Path: src/apprentice/skill_package.py | ~701 lines ## Classes - ActionSpec(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/story_learner.py", + "id": "code-sym-apprentice-137554362c9f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ExportedState", + "summary": "class ExportedState (src/apprentice/story_learner.py:95)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 5, + "filePath": "src/apprentice/story_learner.py", + "id": "code-sym-apprentice-21013ff39348", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ApprenticeStoryLearner", + "summary": "class ApprenticeStoryLearner (src/apprentice/story_learner.py:112) ## Methods - export_state(self) -> ExportedState", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/story_learner.py", + "id": "code-sym-apprentice-469d95b4c761", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ProcessingResult", + "summary": "class ProcessingResult (src/apprentice/story_learner.py:74)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/story_learner.py", + "id": "code-sym-apprentice-728182efed48", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LearningStateError", + "summary": "class LearningStateError(Exception) (src/apprentice/story_learner.py:46)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/story_learner.py", + "id": "code-sym-apprentice-9f03cb5fe5ef", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LearningSummary", + "summary": "class LearningSummary (src/apprentice/story_learner.py:86)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/story_learner.py", + "id": "code-sym-apprentice-f3e06b5c9729", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RootConfig", + "summary": "class RootConfig (src/apprentice/story_learner.py:56) ## Methods - __post_init__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/story_learner.py", + "id": "code-sym-apprentice-f6eb83301ce8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StoryProcessingError", + "summary": "class StoryProcessingError(Exception) (src/apprentice/story_learner.py:41)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 8, + "filePath": "src/apprentice/story_learner.py", + "id": "code-mod-apprentice-e8d0a78f189b", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/story_learner.py", + "summary": "Language: Python | Path: src/apprentice/story_learner.py | ~388 lines ## Classes - ApprenticeStoryLearner", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 4, + "filePath": "src/apprentice/task_registry.py", + "id": "code-sym-apprentice-39bf8ac3f2c5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskRegistryProtocol", + "summary": "class TaskRegistryProtocol(Protocol) (src/apprentice/task_registry.py:268) ## Methods - __contains__(self, name: str) -> bool", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 4, + "filePath": "src/apprentice/task_registry.py", + "id": "code-sym-apprentice-839d71ca4653", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskRegistry", + "summary": "class TaskRegistry(BaseModel) (src/apprentice/task_registry.py:296) ## Methods - __contains__(self, name: str) -> bool", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/task_registry.py", + "id": "code-sym-apprentice-a8eae2ebdcb9", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskConfig", + "summary": "class TaskConfig(BaseModel) (src/apprentice/task_registry.py:118) ## Methods - validate_match_fields_against_output_schema(self) -> 'TaskConfig'", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/task_registry.py", + "id": "code-sym-apprentice-ca61d298adf3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskNotFoundError", + "summary": "class TaskNotFoundError(Exception) (src/apprentice/task_registry.py:251)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/task_registry.py", + "id": "code-sym-apprentice-d2c833993228", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PactFormatter", + "summary": "class PactFormatter(logging.Formatter) (src/apprentice/task_registry.py:21) ## Methods - format(self, record)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/task_registry.py", + "id": "code-sym-apprentice-db7bbded7d74", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceThresholds", + "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/task_registry.py:56) ## Methods - validate_threshold_ordering(self) -> 'ConfidenceThresholds'", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/task_registry.py", + "id": "code-sym-apprentice-fec79c74b17b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EvaluatorType", + "summary": "class EvaluatorType(str, Enum) (src/apprentice/task_registry.py:37)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 10, + "filePath": "src/apprentice/task_registry.py", + "id": "code-mod-apprentice-679f57c4c4db", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/task_registry.py", + "summary": "Language: Python | Path: src/apprentice/task_registry.py | ~473 lines ## Classes - ConfidenceThresholds(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 7, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-03d1c2bf4c9a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingDataStore", + "summary": "class TrainingDataStore (src/apprentice/training_data_store.py:135) ## Methods - add_example(self, example: TrainingExample) -> AddExampleResult", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-0ce3b2ff65f0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SplitName", + "summary": "class SplitName(Enum) (src/apprentice/training_data_store.py:576)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-3bb3a00b8546", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingDataStoreConfig", + "summary": "class TrainingDataStoreConfig(BaseModel) (src/apprentice/training_data_store.py:85)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-54a48f4345e7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingExample", + "summary": "class TrainingExample(BaseModel) (src/apprentice/training_data_store.py:42) ## Methods - validate_metadata_serializable(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-5b9199492bae", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StoryStep", + "summary": "class StoryStep (src/apprentice/training_data_store.py:584) ## Methods - __eq__(self, other)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-854586bac930", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StoryCollector", + "summary": "class StoryCollector (src/apprentice/training_data_store.py:714) ## Methods - get_story_batch(self, story_type: str, split: str) -> StoryList", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-aad946f77a7c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ExampleCount", + "summary": "class ExampleCount(BaseModel) (src/apprentice/training_data_store.py:107)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-b4469870a778", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "StoryTrainingExample", + "summary": "class StoryTrainingExample (src/apprentice/training_data_store.py:668) ## Methods - __eq__(self, other)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-be55dd5f5676", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AddExampleResult", + "summary": "class AddExampleResult(BaseModel) (src/apprentice/training_data_store.py:95)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-c13a7c1d3558", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PactFormatter", + "summary": "class PactFormatter(logging.Formatter) (src/apprentice/training_data_store.py:24) ## Methods - format(self, record)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 3, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-cdfd4d9fc822", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "CollectorStory", + "summary": "class CollectorStory (src/apprentice/training_data_store.py:624) ## Methods - __eq__(self, other)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-sym-apprentice-e91b76ea4a2d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SplitKind", + "summary": "class SplitKind(Enum) (src/apprentice/training_data_store.py:118)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 25, + "filePath": "src/apprentice/training_data_store.py", + "id": "code-mod-apprentice-49890ffd0587", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/training_data_store.py", + "summary": "Language: Python | Path: src/apprentice/training_data_store.py | ~840 lines ## Classes - AddExampleResult(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-1a2fafff20a3", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineStepName", + "summary": "class PipelineStepName(str, Enum) (src/apprentice/training_pipeline.py:37)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-216210e00d9d", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineSuccess", + "summary": "class PipelineSuccess(BaseModel) (src/apprentice/training_pipeline.py:178)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-3cf284e686d8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineFailure", + "summary": "class PipelineFailure(BaseModel) (src/apprentice/training_pipeline.py:187)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-4287dac130f6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TrainingPipeline", + "summary": "class TrainingPipeline (src/apprentice/training_pipeline.py:217) ## Methods - add_example(self, example: AddExampleInput) -> AddExampleOutput", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-5eaaf4cfa4b8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "DataSnapshot", + "summary": "class DataSnapshot(BaseModel) (src/apprentice/training_pipeline.py:82)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-632156bc17c6", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineConfig", + "summary": "class PipelineConfig(BaseModel) (src/apprentice/training_pipeline.py:72)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-6b925b0f121a", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineStepRecord", + "summary": "class PipelineStepRecord(BaseModel) (src/apprentice/training_pipeline.py:94)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-706b587e1d66", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineStatus", + "summary": "class PipelineStatus(str, Enum) (src/apprentice/training_pipeline.py:25)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-747c136cc464", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AddExampleOutput", + "summary": "class AddExampleOutput(BaseModel) (src/apprentice/training_pipeline.py:157)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-98c63ca32a6b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineTriggerPolicy", + "summary": "class PipelineTriggerPolicy(BaseModel) (src/apprentice/training_pipeline.py:64)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-9b0bdd747c57", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineStepStatus", + "summary": "class PipelineStepStatus(str, Enum) (src/apprentice/training_pipeline.py:46)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-c55deadf6133", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "BudgetConstraint", + "summary": "class BudgetConstraint(BaseModel) (src/apprentice/training_pipeline.py:56)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-cb64540662c0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "AddExampleInput", + "summary": "class AddExampleInput(BaseModel) (src/apprentice/training_pipeline.py:148)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-cfd01bb7cba8", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineRunHistory", + "summary": "class PipelineRunHistory(BaseModel) (src/apprentice/training_pipeline.py:200)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-d9a3160e0089", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineState", + "summary": "class PipelineState(BaseModel) (src/apprentice/training_pipeline.py:123)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-e738cdc00161", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "HyperparameterOverrides", + "summary": "class HyperparameterOverrides(BaseModel) (src/apprentice/training_pipeline.py:167)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-eab43a81c60e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TriggerEvaluation", + "summary": "class TriggerEvaluation(BaseModel) (src/apprentice/training_pipeline.py:137)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-sym-apprentice-f460efb3da1f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PipelineRun", + "summary": "class PipelineRun(BaseModel) (src/apprentice/training_pipeline.py:105)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 18, + "filePath": "src/apprentice/training_pipeline.py", + "id": "code-mod-apprentice-db3d0c1a6fce", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/training_pipeline.py", + "summary": "Language: Python | Path: src/apprentice/training_pipeline.py | ~837 lines ## Classes - AddExampleInput(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 2, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-31609e1f28be", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceThresholds", + "summary": "class ConfidenceThresholds(BaseModel) (src/apprentice/unified_interface.py:187) ## Methods - to_child_thresholds(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-3252dd4c3e6c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "LogLevel", + "summary": "class LogLevel(str, Enum) (src/apprentice/unified_interface.py:96)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-32b9259abbbe", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ExitCode", + "summary": "class ExitCode(IntEnum) (src/apprentice/unified_interface.py:76)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-3660e16f3d4c", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskConfig", + "summary": "class TaskConfig(BaseModel) (src/apprentice/unified_interface.py:219) ## Methods - to_child_task_config(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-4d62e8b44290", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ResponseMetadata", + "summary": "class ResponseMetadata(BaseModel) (src/apprentice/unified_interface.py:127)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-7d9f7e248228", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SubcommandName", + "summary": "class SubcommandName(str, Enum) (src/apprentice/unified_interface.py:84)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-8008c8d921ae", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "PhaseLabel", + "summary": "class PhaseLabel(str, Enum) (src/apprentice/unified_interface.py:53)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-9759e48c47c5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "TaskResponse", + "summary": "class TaskResponse(BaseModel) (src/apprentice/unified_interface.py:138)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 7, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-9d608fdf05b0", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "Apprentice", + "summary": "class Apprentice (src/apprentice/unified_interface.py:299) ## Methods - __aenter__(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-cb14eee6d598", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ParsedArgs", + "summary": "class ParsedArgs(BaseModel) (src/apprentice/unified_interface.py:102)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-d40b48d429ba", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "OutputFormat", + "summary": "class OutputFormat(str, Enum) (src/apprentice/unified_interface.py:91)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-dcab078378e4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ApprenticeConfig", + "summary": "class ApprenticeConfig(BaseModel) (src/apprentice/unified_interface.py:240) ## Methods - to_child_config(self)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-dd9d69af110f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SystemReport", + "summary": "class SystemReport(BaseModel) (src/apprentice/unified_interface.py:167)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-deb81069b9d1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ErrorKind", + "summary": "class ErrorKind(str, Enum) (src/apprentice/unified_interface.py:68)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-e5bf304b7389", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ModelSource", + "summary": "class ModelSource(str, Enum) (src/apprentice/unified_interface.py:47)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-f2b35f69af41", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "ConfidenceSnapshot", + "summary": "class ConfidenceSnapshot(BaseModel) (src/apprentice/unified_interface.py:151)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-sym-apprentice-f915168812d5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RunStatus", + "summary": "class RunStatus(str, Enum) (src/apprentice/unified_interface.py:61)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 24, + "filePath": "src/apprentice/unified_interface.py", + "id": "code-mod-apprentice-9f54b8fd07aa", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/unified_interface.py", + "summary": "Language: Python | Path: src/apprentice/unified_interface.py | ~781 lines ## Classes - Apprentice", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 4, + "filePath": "src/apprentice/wos_handler.py", + "id": "code-mod-apprentice-ef80e4db7287", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/wos_handler.py", + "summary": "Language: Python | Path: src/apprentice/wos_handler.py | ~137 lines ## Functions - handle_event(apprentice: Any, event: WOSEvent) -> EventResponse", + "tags": [ + "code", + "python" + ], + "type": "file" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-029aea655dc7", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RecommendResult", + "summary": "class RecommendResult(BaseModel) (src/apprentice/wos_models.py:125)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-0f592853d09e", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "WOSEvent", + "summary": "class WOSEvent(BaseModel) (src/apprentice/wos_models.py:87)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-1bb6e75c2c8f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "RecommendRequest", + "summary": "class RecommendRequest(BaseModel) (src/apprentice/wos_models.py:112)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-3a7787fcfec1", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackType", + "summary": "class FeedbackType(str, Enum) (src/apprentice/wos_models.py:29)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-3c1a44c9510b", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "WOSEventType", + "summary": "class WOSEventType(str, Enum) (src/apprentice/wos_models.py:16)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-41de3b187a11", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "SkillInfo", + "summary": "class SkillInfo(BaseModel) (src/apprentice/wos_models.py:146)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-4e0b8ee0ac6f", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackRecord", + "summary": "class FeedbackRecord(BaseModel) (src/apprentice/wos_models.py:101)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-52f9571b95d5", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "EventResponse", + "summary": "class EventResponse(BaseModel) (src/apprentice/wos_models.py:135)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 1, + "filePath": "src/apprentice/wos_models.py", + "id": "code-sym-apprentice-ebddf85b55c4", + "languageNotes": { + "kindexType": "concept", + "language": "Python", + "toolTier": "" + }, + "name": "FeedbackResponse", + "summary": "class FeedbackResponse(BaseModel) (src/apprentice/wos_models.py:140)", + "tags": [ + "code", + "python" + ], + "type": "class" + }, + { + "complexity": 9, + "filePath": "src/apprentice/wos_models.py", + "id": "code-mod-apprentice-594207c53b32", + "languageNotes": { + "kindexType": "artifact", + "language": "Python", + "toolTier": "C" + }, + "name": "src/apprentice/wos_models.py", + "summary": "Language: Python | Path: src/apprentice/wos_models.py | ~150 lines ## Classes - EventResponse(BaseModel)", + "tags": [ + "code", + "python" + ], + "type": "file" + } + ], + "project": { + "analyzedAt": "2026-05-24T17:34:49-05:00", + "description": "Code map exported from Kindex for apprentice.", + "frameworks": [], + "gitCommitHash": "2ede8e77ee08c0e7223988588bf7a9894bf1a62c", + "languages": [ + "Python" + ], + "name": "apprentice" + }, "tour": [ { - "order": 1, - "title": "Api", "description": "Review 2 node(s) in the Api layer.", "nodeIds": [ "code-mod-apprentice-5aeba9d79e32", "code-mod-apprentice-d129ec7b3fe6" - ] + ], + "order": 1, + "title": "Api" }, { - "order": 2, - "title": "Core", "description": "Review 39 node(s) in the Core layer.", "nodeIds": [ "code-mod-apprentice-0e7125609223", @@ -12936,11 +17294,11 @@ "code-mod-apprentice-af535fde5695", "code-mod-apprentice-b5da1f71cb29", "code-mod-apprentice-b5f70562b149" - ] + ], + "order": 2, + "title": "Core" }, { - "order": 3, - "title": "Data", "description": "Review 12 node(s) in the Data layer.", "nodeIds": [ "code-mod-apprentice-0a44add2cd47", @@ -12955,12 +17313,12 @@ "code-mod-apprentice-a2fa0f4c007f", "code-mod-apprentice-bbfebc12095e", "code-mod-apprentice-d1f56cbb4596" - ] + ], + "order": 3, + "title": "Data" }, { - "order": 4, - "title": "Domain", - "description": "Review 458 node(s) in the Domain layer.", + "description": "Review 486 node(s) in the Domain layer.", "nodeIds": [ "code-sym-apprentice-0052752c7470", "code-sym-apprentice-00955f35f232", @@ -12987,7 +17345,10 @@ "code-sym-apprentice-0ff066a3771e", "code-sym-apprentice-1037e30b4324", "code-sym-apprentice-109ed9bbd35d" - ] + ], + "order": 4, + "title": "Domain" } - ] + ], + "version": "1.0.0" } diff --git a/.kin/config b/.kin/config index 2e45525..ee1f536 100644 --- a/.kin/config +++ b/.kin/config @@ -1,43 +1,54 @@ -name: apprentice -audience: public -description: > - Adaptive model distillation framework. Routes requests between frontier - API and local fine-tuned model, progressively shifting traffic as - correlation proves quality. Budget-aware with PII protection. - -domains: - - model-distillation - - traffic-routing - - fine-tuning - - PII-protection - - budget-management - - confidence-scoring - -voice: - tone: precise, empirical, cost-conscious - principles: - - Traffic shifts are earned by correlation, not assumed - - PII must be tokenized before any training data storage - - Budget exhaustion degrades gracefully, never crashes - - Audit trail is append-only and machine-readable - anti-patterns: - - Promoting local model without statistical validation - - Training on raw user data without PII scrubbing - - Making API calls without budget checks - - Skipping shadow phase for new tasks - -standards: - code_review: - - Type annotations on all public functions - - Dependency injection for all external boundaries - - PACT keys embedded in source modules - - No global state — explicit parameter passing - documentation: - - Phase transitions documented with trigger conditions - - Budget math shown explicitly - communication: - - Lead with correlation scores and cost savings - -connects_to: - - pact - - kindex +name: apprentice +audience: public +description: > + Adaptive model distillation framework. Routes requests between frontier + API and local fine-tuned model, progressively shifting traffic as + correlation proves quality. Budget-aware with PII protection. + +domains: + - model-distillation + - traffic-routing + - fine-tuning + - PII-protection + - budget-management + - confidence-scoring + +voice: + tone: precise, empirical, cost-conscious + principles: + - Traffic shifts are earned by correlation, not assumed + - PII must be tokenized before any training data storage + - Budget exhaustion degrades gracefully, never crashes + - Audit trail is append-only and machine-readable + anti-patterns: + - Promoting local model without statistical validation + - Training on raw user data without PII scrubbing + - Making API calls without budget checks + - Skipping shadow phase for new tasks + +standards: + code_review: + - Type annotations on all public functions + - Dependency injection for all external boundaries + - PACT keys embedded in source modules + - No global state — explicit parameter passing + documentation: + - Phase transitions documented with trigger conditions + - Budget math shown explicitly + communication: + - Lead with correlation scores and cost savings + +connects_to: + - pact + - kindex + +work_policy: + require_active_tag: false + linear: + enabled: false + require_issue: false + git: + block_commit_without_tag: false + block_commit_without_linear: false + block_push_without_tag: false + block_push_without_linear: false diff --git a/.kin/index.json b/.kin/index.json new file mode 100644 index 0000000..91d337a --- /dev/null +++ b/.kin/index.json @@ -0,0 +1,5941 @@ +{ + "domains": [ + "code", + "python" + ], + "node_count": 539, + "nodes": [ + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-0a44add2cd47", + "title": "src/apprentice/local_model_server.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-0e7125609223", + "title": "src/apprentice/config_and_registry.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-1698980bbd1a", + "title": "src/apprentice/kubernetes_lora_backend.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-1f9cceef3863", + "title": "src/apprentice/phase_manager.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-2818110a5e2c", + "title": "docker/trainer/train.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-2b60fdaaa17c", + "title": "src/apprentice/apprentice_class.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-2bf9d68f63ad", + "title": "src/apprentice/fine_tuning_orchestrator.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-2ddb51ce83da", + "title": "src/apprentice/model_validator.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-302d93954718", + "title": "src/apprentice/data_models.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-33517cccbba1", + "title": "examples/wos_client.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-4174c65f149a", + "title": "src/apprentice/phase_tracking.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-47cb5b732738", + "title": "src/apprentice/report_generator/core.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-49890ffd0587", + "title": "src/apprentice/training_data_store.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-594207c53b32", + "title": "src/apprentice/wos_models.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-5aeba9d79e32", + "title": "src/apprentice/remote_api_client.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-679f57c4c4db", + "title": "src/apprentice/task_registry.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-687320155f0f", + "title": "src/apprentice/budget_manager.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-72afa61c9f97", + "title": "src/apprentice/root/__init__.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-778f4e5a0cd4", + "title": "src/apprentice/report_generator/exceptions.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-7906e1efa075", + "title": "src/apprentice/audit_log.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-7d6467b32525", + "title": "src/apprentice/cli/cli.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-7fa8b703f13e", + "title": "src/apprentice/plugin_registry.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-8cb1418b8ce0", + "title": "src/apprentice/skill_package.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-9020541c2233", + "title": "src/apprentice/cli/init_wizard.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-90f3611e37ae", + "title": "src/apprentice/report_generator/report_generator.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-91d05597a213", + "title": "src/apprentice/config_loader.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-921fa79fbb5d", + "title": "src/apprentice/cli/serve.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-99af4df423f2", + "title": "src/apprentice/feedback_collector.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-9f54b8fd07aa", + "title": "src/apprentice/unified_interface.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-a2fa0f4c007f", + "title": "src/apprentice/cli/cli_models.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-a3d269d5aae8", + "title": "src/apprentice/audit_log_adapter.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-a900b12b40af", + "title": "src/apprentice/confidence_engine.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-ad0541b8a96a", + "title": "src/apprentice/sampling_scheduler.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-af535fde5695", + "title": "src/apprentice/__init__.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-b5da1f71cb29", + "title": "src/apprentice/middleware.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-b5f70562b149", + "title": "src/apprentice/pii_detection.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-b627511984c7", + "title": "src/apprentice/pii_tokenizer.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-bbfebc12095e", + "title": "src/apprentice/report_generator/models.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-bce9535eb9ab", + "title": "src/apprentice/root/composition.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-c0e74683670f", + "title": "src/apprentice/package_runtime.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-c977facfc7be", + "title": "src/apprentice/journey_evaluator.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-cf878b8f317c", + "title": "src/apprentice/evaluators.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-d129ec7b3fe6", + "title": "src/apprentice/router.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-d1f56cbb4596", + "title": "src/apprentice/reporting.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-d9632c802373", + "title": "src/apprentice/external_interfaces.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-db3d0c1a6fce", + "title": "src/apprentice/training_pipeline.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-dd5d89009dab", + "title": "src/apprentice/rolling_window.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-e250f0d85893", + "title": "src/apprentice/factory.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-e8d0a78f189b", + "title": "src/apprentice/story_learner.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-ec2a8da1caa1", + "title": "src/apprentice/event_handler.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-ef80e4db7287", + "title": "src/apprentice/wos_handler.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-f56c09bf9856", + "title": "src/apprentice/pii_evaluation.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-mod-apprentice-ffd91da06870", + "title": "src/apprentice/observer.py", + "type": "artifact", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0052752c7470", + "title": "ConfigParseError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-00955f35f232", + "title": "BaseClientConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-017716b1bd09", + "title": "ConfidenceEngine", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-01820b96b54c", + "title": "ExactMatchResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-029aea655dc7", + "title": "RecommendResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-02b8cda2b167", + "title": "BudgetEnforcementConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-02ffd4562192", + "title": "Observer", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-03d1c2bf4c9a", + "title": "TrainingDataStore", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-054f45358d09", + "title": "TrainingExampleType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-06a5682b61b8", + "title": "AlertType", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-07e2b98f82e5", + "title": "EvaluatorRunResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0990e83f6fa3", + "title": "AnthropicClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-09abc8002a4e", + "title": "SubcommandName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0a2b0b09c17b", + "title": "JsonLinesAuditLogger", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0a5a43caafb7", + "title": "AuditEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0b2afe61b3c6", + "title": "ConfidenceEngine", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0b7adcddcfd0", + "title": "ArtifactSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0c7d6dff15ca", + "title": "KubernetesLoRAOrchestratorConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0ccd87e116b8", + "title": "BudgetState", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0ce3b2ff65f0", + "title": "SplitName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0f592853d09e", + "title": "WOSEvent", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0f8fce43fc85", + "title": "PluginEntryConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-0ff066a3771e", + "title": "PackageRegistryStore", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1037e30b4324", + "title": "BudgetSnapshot", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-109ed9bbd35d", + "title": "MessageRole", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1146d58607f4", + "title": "TaskConfidenceReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-116fae85271c", + "title": "PIIConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-118093fca7d0", + "title": "TrainingExample", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-12bb73991f48", + "title": "TaskRegistry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-12da83323923", + "title": "WindowAggregate", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-12dac1a0e790", + "title": "EventType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-137554362c9f", + "title": "ExportedState", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1399284bfac1", + "title": "RoutingResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-13d3cef376c6", + "title": "ReportConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1685f5d08e13", + "title": "BudgetConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1738fd71da32", + "title": "Message", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-176db411e310", + "title": "CustomEvalResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1791ab5c6629", + "title": "BudgetConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-17ba7228b91f", + "title": "Step", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-17fb3330f13d", + "title": "ThresholdComparison", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-18e54562cb38", + "title": "ReportGenerator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-192ed3d8bd55", + "title": "AllowBuiltinToolPreflightClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1a2fafff20a3", + "title": "PipelineStepName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1a7b73d603ee", + "title": "Phase", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1b5c3962a21b", + "title": "ConstraintCheckResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1bb6e75c2c8f", + "title": "RecommendRequest", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1bb7790bf47f", + "title": "ApprenticeConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1bbf74ee8835", + "title": "DriftShiftStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1bc977dc54c4", + "title": "MiddlewareContext", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1e08368cbe7a", + "title": "BudgetError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1eba5b2c0c22", + "title": "EventType", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1f1c402b864e", + "title": "WebhookDelivery", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1f280475e2a1", + "title": "StoryMetricsStore", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1f5afd7b10f5", + "title": "TrendDirection", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-1fe81f0471af", + "title": "SavingsTracker", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-205de453a6ab", + "title": "CompatibilitySpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-21013ff39348", + "title": "ApprenticeStoryLearner", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-216210e00d9d", + "title": "PipelineSuccess", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-21aaadb6b4e1", + "title": "CommandRunner", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2250fa629391", + "title": "RemoteClientConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-238079747864", + "title": "PhaseTransition", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2388cd096cd3", + "title": "BudgetInfo", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-252dbbaa4788", + "title": "RoutingAction", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-25867fd21bea", + "title": "UnavailableReason", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-25b9ce015483", + "title": "Story", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-25d9d556203c", + "title": "RequestCorrelation", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-25fe10311538", + "title": "RemoteAdapterConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-281f697001fc", + "title": "TaskFieldSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-282fa07acc28", + "title": "RemoteUnavailableError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-28e317b3bef5", + "title": "EvaluatorTypeName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-29169cd6501c", + "title": "PactFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-29d005e51098", + "title": "PackageArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2b56c0e1a8b1", + "title": "RunResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2baf16d0ed1b", + "title": "PackageValidationReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2bffa89e7961", + "title": "ValidationError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2d4b84405910", + "title": "RoutingDecision", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2d6251043c69", + "title": "CorrelationHistory", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2da52d120ca7", + "title": "MiddlewareEntryConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2dca87d1880a", + "title": "OutputFormat", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2dfa6cdd354f", + "title": "TrainingExample", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2dffb4b84955", + "title": "RequestRouter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2edae8522463", + "title": "GlobalFlags", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2f3c451f27da", + "title": "TokenPricing", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-2f904b46c6d2", + "title": "QuantizationType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-30f13d064cc3", + "title": "TaskPhaseState", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-30f691eb5f9e", + "title": "OllamaRegistration", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-31238733194f", + "title": "PactFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3152f3f3068c", + "title": "FeedbackSignalSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-31609e1f28be", + "title": "ConfidenceThresholds", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3228a47ce933", + "title": "EvaluatorType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3252dd4c3e6c", + "title": "LogLevel", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3287f35dc25d", + "title": "BudgetManager", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-32b9259abbbe", + "title": "ExitCode", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-32c1a3269918", + "title": "DeliveryResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-33939f79dc0f", + "title": "ActionSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-33a41f115b3f", + "title": "ConfigFileNotFoundError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3473fb60bdc0", + "title": "ComparisonPair", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-35da23c435b7", + "title": "ComponentStatusEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3619a577f48a", + "title": "PhaseInfo", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3660e16f3d4c", + "title": "TaskConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-36637edc4245", + "title": "RemoteClientError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-36d0788b3256", + "title": "JSONFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-370f778d5b34", + "title": "ConfidenceThresholds", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3744945d97ec", + "title": "TaskPhaseStateMap", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3754794d8a6a", + "title": "PeriodType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-37a1eb566f1e", + "title": "DeliveryStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-39bf8ac3f2c5", + "title": "TaskRegistryProtocol", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-39c3086e4000", + "title": "ReportFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3a21c5da5d82", + "title": "LocalModelUnavailable", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3a7787fcfec1", + "title": "FeedbackType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3b54c74322ba", + "title": "PhaseManager", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3b691d01dec7", + "title": "RouterTrainingAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3bac50e4ae72", + "title": "TestSample", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3bb3a00b8546", + "title": "TrainingDataStoreConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3c1a44c9510b", + "title": "WOSEventType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3c4cd175f7ce", + "title": "LocalModelAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3c6f10e1efdb", + "title": "InputData", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3cf284e686d8", + "title": "PipelineFailure", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3d45a761f68e", + "title": "ApprenticeServer", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3e22697d494a", + "title": "JsonFileWindowStore", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3e4db604c1ca", + "title": "SourceInfo", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-3eda52a0a4e6", + "title": "LearnedPatternStore", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-403f24c961e2", + "title": "DenialReason", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-40f21272e4f8", + "title": "ConfidenceEngineConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-41bd38128171", + "title": "RemoteModelBackend", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-41de3b187a11", + "title": "SkillInfo", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-42230c0357ac", + "title": "ConfigValidationError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4287dac130f6", + "title": "TrainingPipeline", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-435caae2fed3", + "title": "TokenUsage", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-43a24fc5a7ce", + "title": "ConfidenceSnapshot", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4440ba039f76", + "title": "LogLevel", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-451391f1ce68", + "title": "ProviderName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-469d95b4c761", + "title": "ProcessingResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-46fc2a3ba228", + "title": "PhaseLabel", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-475f20b819b7", + "title": "OllamaClientConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-47e640b1e2dc", + "title": "InferenceSuccess", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4873042120ee", + "title": "InvocationSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4907659c592a", + "title": "InitArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-49b6368a2950", + "title": "ComparisonPairInput", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-49ca55ec0d1e", + "title": "TrendDirection", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4a7fcc5b33cd", + "title": "ResponseMetadata", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4ae2d5ceee67", + "title": "TaskResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4ba2c0bdf563", + "title": "RouterConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4bbb5b609cf7", + "title": "PromptMessage", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4bd096f2f039", + "title": "ConfigValidationError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4d62e8b44290", + "title": "ResponseMetadata", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4e0b8ee0ac6f", + "title": "FeedbackRecord", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4e4bcdd435e4", + "title": "PhaseComputationResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4e775377d379", + "title": "RoutingDecision", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-4f900fb9a6c9", + "title": "PhaseComputationResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-505f6790b4ab", + "title": "SamplingSchedulerConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-50668ace6850", + "title": "DuplicatePluginError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5117d87bea5e", + "title": "_get_global_manager.SystemClock", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-511dc840eddb", + "title": "PromotionResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-515c25946f55", + "title": "ToolPreflightResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5160652faa5d", + "title": "StatusResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-51d30639b8ca", + "title": "HealthReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-522cf079a72b", + "title": "BudgetState", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-52826499577a", + "title": "EvaluatorConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-52f9571b95d5", + "title": "EventResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-53d498396397", + "title": "PluginConfigError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-53f89a74212e", + "title": "SourceUnavailableError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-53fcb8c4a476", + "title": "InvalidRequestError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-548e78fbb0f3", + "title": "ConfidenceEngine", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-54a48f4345e7", + "title": "TrainingExample", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-54c1688565f5", + "title": "CompletionRequest", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-559f89ea592e", + "title": "CredentialResolution", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-583a9b73e482", + "title": "ErrorInfo", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-588d249a6949", + "title": "SystemReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-592fd9973445", + "title": "ConfidenceSnapshotEnrichedMap", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5951023f634e", + "title": "AlertSeverity", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5987c09cf27e", + "title": "RuntimeBindingSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-59cc03a1a6d6", + "title": "SkillPackageRefConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5a821ca27360", + "title": "FineTuneError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5a8caff7c6b8", + "title": "PersistenceError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5a90ec2f6722", + "title": "ModelVersion", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5a90f557eac7", + "title": "BudgetExhaustedError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5ade6e1df813", + "title": "SamplingPhase", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5b9199492bae", + "title": "StoryStep", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5d6180056bca", + "title": "ApprenticeConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5db84766697d", + "title": "RateLimitError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5dff024d186c", + "title": "FieldEvaluation", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5e43f8c09308", + "title": "KubernetesLoRABackend", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5e9826a02974", + "title": "ModelSource", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5ea6e90a3f1d", + "title": "CorrelationWindow", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-5eaaf4cfa4b8", + "title": "DataSnapshot", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-60c376ec4e9d", + "title": "RouterConfidenceAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-611ffd19ff36", + "title": "BudgetPeriodUnit", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6147c6a85b96", + "title": "SemanticSimilarityResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-61c44acb7e99", + "title": "PeriodSpend", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-61ed476d61c0", + "title": "ApprenticeError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-62a4f5006de6", + "title": "AuditLogger", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-62b5bf21de9c", + "title": "EvaluatorType", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-62b67f726b00", + "title": "CompletionResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-62ffddb9ac91", + "title": "BudgetAuthorizationResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-631432820380", + "title": "FeedbackEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-632156bc17c6", + "title": "PipelineConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-636bea536eea", + "title": "PackageDiagnostic", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-636c0a4eada3", + "title": "JsonFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-644b846ee404", + "title": "PeriodSummary", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-64d483b85e3a", + "title": "ModelValidator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6693abf88ba3", + "title": "PeriodLimit", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-66cbfc07aba2", + "title": "AuditEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-687107ce0745", + "title": "TimeoutConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6879432b5ee0", + "title": "FinetuningBackendName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6a1834a340cc", + "title": "PhaseThresholds", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6b512dd031b1", + "title": "Clock", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6b7667254f0f", + "title": "ComponentId", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6b925b0f121a", + "title": "PipelineStepRecord", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6bc30670b9f2", + "title": "UnavailableReason", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6c87a91539f5", + "title": "ConfigError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6d1ee7b52a58", + "title": "TaskRequest", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6d41b578aa45", + "title": "EventType", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6d4714d3414c", + "title": "ApprenticeConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6dedc69e8195", + "title": "OrchestratorConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6e18c5fe3d67", + "title": "ComparisonPair", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6f291420055a", + "title": "OpenAIBackendConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-6fd13b388efb", + "title": "ConstraintSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7050655a9637", + "title": "PhaseMetrics", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-706b587e1d66", + "title": "PipelineStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-710af128df4c", + "title": "LocalBackendType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7132a0c9a123", + "title": "ObserverConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-71594400434a", + "title": "RunStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-725e8ea3677d", + "title": "TestSet", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-728182efed48", + "title": "LearningStateError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-728f72d01213", + "title": "PIIDetectionEvaluator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-73a222c32f29", + "title": "ValidationErrorDetail", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-73f20d6525f9", + "title": "PhaseMetrics", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-741c2130507b", + "title": "AuditConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7444f5e506e8", + "title": "LlamaCppClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-747c136cc464", + "title": "AddExampleOutput", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-757e883f9d64", + "title": "AdaptiveSamplingScheduler", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-764b1358c4e4", + "title": "SamplingDecision", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-778f2a43df0c", + "title": "FuzzyMatchResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-78b8c8a02fc8", + "title": "ExactMatchEvaluator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-78e342bad5e0", + "title": "DiversityResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-79112d4c05c1", + "title": "PIIEvaluationResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7bf230b234eb", + "title": "LocalModelConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7c002f4ba77f", + "title": "AuditLogger", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7d32d338e6eb", + "title": "DequeRollingWindow", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7d9f7e248228", + "title": "SubcommandName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7da358622aaa", + "title": "FormattedReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7e1cb5d6a139", + "title": "TaskResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7e766569c924", + "title": "AuditDataSource", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7ec1c4233e12", + "title": "DataSourceError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7ecc71f31ff3", + "title": "BudgetStateCorruptedError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-7f0c4096ad31", + "title": "EnvVarNotFoundError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8008c8d921ae", + "title": "PhaseLabel", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8031f32be9e2", + "title": "DualSendOutcome", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-81cc5b2105da", + "title": "FeedbackSummary", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-81db573e5d1a", + "title": "ObservationEvent", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-82a273309016", + "title": "UnslothBackendConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-82f232151680", + "title": "FeedbackCollector", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-839d71ca4653", + "title": "TaskRegistry", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-83d0ec9b127e", + "title": "TaskResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-84df39a1c8c4", + "title": "SecurityConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-854586bac930", + "title": "StoryCollector", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-85bf5cf3d577", + "title": "SamplingScheduler", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-86a8cdb85c59", + "title": "MiddlewareResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-87095b604092", + "title": "TaskRequest", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-87288dc308fd", + "title": "Weights", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-875af9ecac9f", + "title": "EvaluationOutcome", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8782ce1b0e09", + "title": "CompositeDetectionPipeline", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-88ca8a5da63c", + "title": "RouterLocalAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-88e7b6d6a4d3", + "title": "PactFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-892f600a6388", + "title": "PricingTable", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-89e94aedfa10", + "title": "FineTuneRequest", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8a4e88b682d9", + "title": "FeedbackType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8a5d4de5295c", + "title": "StoryStep", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8a7a4d0675a8", + "title": "GGUFArtifact", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8b197ad2790b", + "title": "JourneyEvaluator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8b40c753a8fa", + "title": "AuditConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8b41c11f7496", + "title": "JsonLinesAuditLogger", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8bf6e17d9c23", + "title": "PhaseContext", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8c4965f3382d", + "title": "FunctionEvaluatorAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8caa4631ab89", + "title": "CostBreakdown", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8d387f6a412f", + "title": "DecayFunctionParams", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8d6189681c62", + "title": "ModelVersion", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8ea685645235", + "title": "Phase", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8ed426b2d6e0", + "title": "HealthStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8ff0332174af", + "title": "UnifiedTokenUsage", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8ff35e1c27d0", + "title": "VLLMClientConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-8ffbb99f9d53", + "title": "EvaluationScore", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-90d68cf5ca50", + "title": "TaskConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-90e5dfd17392", + "title": "HyperparameterOverrides", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-90f1d655925f", + "title": "FinetuningConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-911078fb2a31", + "title": "TerminalError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-928023b0c9de", + "title": "TrainArtifact", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-93665802ae17", + "title": "SystemReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-93ecd5210ccc", + "title": "EntityMetrics", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-94060390f38f", + "title": "ComponentStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-94d0ca18d31c", + "title": "DualSendResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-95dce4eccce8", + "title": "BudgetManager", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-95deecb4c2fc", + "title": "MiddlewarePipeline", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-962e6c58f3aa", + "title": "Middleware", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-96ebf4a7443c", + "title": "TaskStatusEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-970d0cc4d9bf", + "title": "TaskNotFoundError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9759e48c47c5", + "title": "TaskResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-97c3f293355c", + "title": "FinetuningBackendName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-97d6d5170c76", + "title": "PromotionReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-98930e20788c", + "title": "ConstraintViolation", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-98c63ca32a6b", + "title": "PipelineTriggerPolicy", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-99adebe04b73", + "title": "LocalNoOpOrchestratorConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9ab08d72e5ef", + "title": "PluginRegistrySet", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9b0bdd747c57", + "title": "PipelineStepStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9bc8254f40c1", + "title": "RunArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9c3a893bfd00", + "title": "EvaluationResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9cdf1864bcd3", + "title": "MetricEvent", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9d031e321a28", + "title": "PIITokenizerConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9d608fdf05b0", + "title": "Apprentice", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9ddf26c9c2ec", + "title": "CostTrajectoryPoint", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9dee6fa10312", + "title": "MiddlewareError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9e4b767dd156", + "title": "ObserverConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9ea61c5c45e1", + "title": "RetriableError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9ebe06fb2e38", + "title": "LocalNoOpBackend", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9ed747ed9d2e", + "title": "ConfidenceDataSource", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9edc9921a451", + "title": "EvaluatorConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9f03cb5fe5ef", + "title": "LearningSummary", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-9feda4a0872c", + "title": "WindowStore", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a038a04b6626", + "title": "TrainingMetrics", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a1066cbd8043", + "title": "ParameterSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a1345a5a251d", + "title": "BackendRegistry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a1c22781f5c1", + "title": "TrainingExample", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a2f09cdca4e6", + "title": "EventDispatcher", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a302728cf893", + "title": "SkillPackage", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a34d2d0e39ed", + "title": "LLMJudgeEvaluator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a4a4fb554963", + "title": "TransitionTrigger", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a5255184f43a", + "title": "ConfidenceThresholds", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a7c0e2961c86", + "title": "ErrorKind", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a8203f5dbf19", + "title": "PromotionRecord", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a8a9a15dce84", + "title": "UnknownPluginError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a8d2e0b1841b", + "title": "NERDetectionStrategy", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a8eae2ebdcb9", + "title": "TaskConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-a9bca4d3aaf8", + "title": "FineTuneBackend", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-aab00d9d5301", + "title": "ProviderConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-aad946f77a7c", + "title": "ExampleCount", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ab67aa43f52e", + "title": "PIIDetection", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ab843d6844ca", + "title": "LocalAdapterConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ad0effd1d6de", + "title": "Phase", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ad3fbc2a8140", + "title": "FineTuneErrorCategory", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-adbf3c348485", + "title": "TrainingDataCollector", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b0f5893be3fe", + "title": "ReportResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b1bef74ff18d", + "title": "ServeArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b24d9f7a9af4", + "title": "AllSourcesUnavailableError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b2c94b0e8294", + "title": "ValidationConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b39a87004f47", + "title": "PromotionDecision", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b3e29291aa9d", + "title": "ValidationResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b422a8210014", + "title": "CommandResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b43b2ae2777e", + "title": "EventHandlerConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b4469870a778", + "title": "StoryTrainingExample", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b4c4a061f3df", + "title": "Phase", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b647e4598918", + "title": "LocalModelUnavailableError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b7b853da0cd6", + "title": "RegexDetectionStrategy", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b7cdb59274ad", + "title": "PhaseTracker", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b7d3c197f611", + "title": "Story", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b80d96588eea", + "title": "LifecycleEvent", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-b92524d7ef57", + "title": "PIIEvaluateArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ba09138e9ebc", + "title": "BudgetExhaustedError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ba5560be1dba", + "title": "BackendRegistryEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ba81bc975c18", + "title": "KubernetesLoRABackendConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-bb118750eaef", + "title": "TrainingDataStoreConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-bcae2e3ed0cf", + "title": "EventMappingSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-bd613f7dcbef", + "title": "RouterAuditAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-bd6737af8b65", + "title": "ShutdownError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-bdf6b2dba77a", + "title": "BudgetReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-be55dd5f5676", + "title": "AddExampleResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-be67fca5c732", + "title": "RoutingError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-be71e7d1dcb4", + "title": "RouterSamplingAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-bfad146df017", + "title": "FormattingError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-bfda6dbc4759", + "title": "PIIIngestArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c0778853b440", + "title": "FeedbackConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c07d98abbdc9", + "title": "MatchFieldSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c13a7c1d3558", + "title": "PactFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c1eca63623fa", + "title": "JsonLinesAuditLogger", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c328d5ff87db", + "title": "OutcomeSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c45a5a2d03c8", + "title": "ModelClientError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c55deadf6133", + "title": "BudgetConstraint", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c611719d605f", + "title": "AuditEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c632239515b1", + "title": "OllamaClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c6d9928165b7", + "title": "ModelVersionStore", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c7320e4121ee", + "title": "SpendMetadata", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c7f9d18376e6", + "title": "ExitCode", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c842611b6140", + "title": "ModelResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-c890afedab4c", + "title": "PactFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ca1c1c6e3e90", + "title": "ModelServerStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ca61d298adf3", + "title": "TaskNotFoundError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ca8ac279c69a", + "title": "RunContext", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-caa6afa0bc0f", + "title": "PluginRegistry", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-cac3b741cb3a", + "title": "ConfidenceSnapshot", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-cb046538b4a7", + "title": "RetryConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-cb14eee6d598", + "title": "ParsedArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-cb30731509fd", + "title": "ParsedArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-cb64540662c0", + "title": "AddExampleInput", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-cdfd4d9fc822", + "title": "CollectorStory", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-cfd01bb7cba8", + "title": "PipelineRunHistory", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d238b4ce07a4", + "title": "SourceType", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d2c833993228", + "title": "PactFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d30d23b34252", + "title": "BudgetManager", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d36748a99a9f", + "title": "LogLevel", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d40b48d429ba", + "title": "OutputFormat", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d43087c634ac", + "title": "PackageSkillStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d431b536422e", + "title": "GenerationConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d45a1b562911", + "title": "FeedbackConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d533f8ea7f35", + "title": "TrendDirection", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d5773f8ae5dc", + "title": "JourneyScore", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d5de0a2a72f0", + "title": "HuggingFaceBackendConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d6d62e018e90", + "title": "ToolInvocationResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d6f1460f0624", + "title": "Apprentice", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d78b9615213a", + "title": "LlmJudgeResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d7b699fb8c6f", + "title": "Alert", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d7c232925557", + "title": "GenerationParams", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d8cc2b65cacb", + "title": "ConfidenceSnapshot", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d9a3160e0089", + "title": "PipelineState", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d9c6360da895", + "title": "EmptyReportError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-d9e053a33e38", + "title": "TaskConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-da71582fad25", + "title": "StatusArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-daf474aebab5", + "title": "RouterBudgetAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-db7bbded7d74", + "title": "ConfidenceThresholds", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-db889184d1d6", + "title": "InitializationPhase", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-dcab078378e4", + "title": "ApprenticeConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-dcbb1698157d", + "title": "RoutingAuditEntry", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-dcedf53f2d6a", + "title": "PackageRuntimeState", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-dceed7ed31ac", + "title": "ReportArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-dd9d69af110f", + "title": "SystemReport", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-deb81069b9d1", + "title": "ErrorKind", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-decc9a19bad9", + "title": "EvaluationResultType", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-df153a561c9c", + "title": "FieldPIIStats", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e0b8f40d7893", + "title": "BackendType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e1e4bb4d841c", + "title": "ReportFormat", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e24576be3b1b", + "title": "AuditConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e2daa50de8fa", + "title": "PromotionStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e2f1aaecdc7a", + "title": "ConfidenceSnapshotEnriched", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e454bbeaeb40", + "title": "InitializationError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e55359ca8e87", + "title": "StructuredMatchEvaluator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e59c0fd9f07c", + "title": "LocalModelBackend", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e5bf304b7389", + "title": "ModelSource", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e600dc2dafbb", + "title": "FieldHeuristicStrategy", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e64910957d85", + "title": "ToolSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e6795e6ba453", + "title": "Router", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e70f423f4c56", + "title": "RouterRemoteAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e738cdc00161", + "title": "HyperparameterOverrides", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e77c66697f35", + "title": "CredentialResolver", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e88b6535591a", + "title": "SwapResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e91b76ea4a2d", + "title": "SplitKind", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e96a8e6cd9c9", + "title": "SemanticSimilarityEvaluator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-e9a0987115ed", + "title": "EvaluatorProtocol", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ea6ff8b3dd58", + "title": "ShadowRecommendation", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-eab43a81c60e", + "title": "TriggerEvaluation", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-eaebc816d5c0", + "title": "FineTuningOrchestrator", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-eb7b092ffabc", + "title": "EvaluatorSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ebb56c805e06", + "title": "DetectionStrategy", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ebddf85b55c4", + "title": "FeedbackResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ec48bc0862bb", + "title": "OpenAIClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ec63e5bb5f90", + "title": "ValidationError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ed282445f7e2", + "title": "TokenRegistry", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-edd360947820", + "title": "ValidationErrorDetail", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-eecb4874144d", + "title": "AuthError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f137e82a9ecf", + "title": "EvaluateResult", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f15e0dbbc79b", + "title": "BaseRemoteClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f20bb1e90ccb", + "title": "LlamaCppClientConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f2b35f69af41", + "title": "ConfidenceSnapshot", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f32104e62ac6", + "title": "Role", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f374aa34e81f", + "title": "SkillSpec", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f387336f9785", + "title": "WindowConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f3e06b5c9729", + "title": "RootConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f3f1a69a2aed", + "title": "BudgetDataSource", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f460efb3da1f", + "title": "PipelineRun", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f605871cbe7b", + "title": "BudgetPeriod", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f6eb83301ce8", + "title": "StoryProcessingError", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f70272e3ccae", + "title": "StoreConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f730d7e5cd0d", + "title": "IngestArgs", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f88bc6a42b6c", + "title": "InferenceRequest", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f8c886701c47", + "title": "PluginError", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-f915168812d5", + "title": "RunStatus", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fa42470c44a1", + "title": "VLLMClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fab197e06f5f", + "title": "PerMetricThreshold", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fb13d3e6da7c", + "title": "PactFormatter", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fb1ebaf433bc", + "title": "TaskEvaluatorConfig", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fc480003b913", + "title": "SamplingDecision", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fd924eb0d748", + "title": "DecayFunctionName", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fe1f80238d8e", + "title": "TestSetReference", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fe84e8be6c95", + "title": "TaskResponse", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fec79c74b17b", + "title": "EvaluatorType", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-fecb991faa3a", + "title": "ToolPreflightClient", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ff1dde397ead", + "title": "RemoteModelAdapter", + "type": "concept", + "updated_at": "2026-05-30T14:47:00", + "weight": 0.5 + }, + { + "domains": [ + "code", + "python" + ], + "id": "code-sym-apprentice-ff31ede95377", + "title": "PIITokenizer", + "type": "concept", + "updated_at": "2026-05-30T14:47:01", + "weight": 0.5 + } + ], + "repo": "apprentice", + "source_updated_at": "2026-05-30T14:47:01", + "version": 1 +}