Build Order

This appendix details the recommended component build order derived from architecture research. The order is determined by dependency analysis — each component is built only after its dependencies exist. The implementation plan phases reference this appendix for the detailed dependency chain.

Step Component Status Depends On What It Unblocks
1 libs/adapter-registry ✅ Implemented Nothing All components that store or retrieve adapters
2 services/lora-server 🔄 Replaced adapter-registry Replaced by libs/inference providers (TransformersProvider, LlamaCppProvider, OllamaProvider, VLLMProvider)
3 libs/model-training (extend) ✅ Implemented inference providers Hypernetwork, D2L pipeline, TIES/DARE merging, QLoRA trainer
4 services/api-service (extend) ✅ Implemented adapter-registry REST API for adapter management
5 services/rune-agent ✅ Implemented inference, api-service, sandbox LangGraph state graph; 4-phase pipeline in scripts/rune_runner.py
6 services/evolution-svc ⚠️ Partial adapter-registry, inference REST stubs; evolution logic in scripts/swarm_evolution.py
7 services/training-svc ✅ Implemented adapter-registry, model-training POST /train/lora, POST /train/hypernetwork, GET /jobs/{id}
8 Hypernetwork ✅ Implemented training-svc, adapter corpus DocToLoraHypernetwork + D2L training pipeline
scripts/ orchestration ✅ Implemented All above rune_runner.py, swarm.py, swarm_workers.py, swarm_evolution.py

Dependency Graph

flowchart TD
    adapter_registry["adapter-registry ✅"] --> inference_providers["inference providers ✅"]
    adapter_registry --> api_service["api-service ✅"]
    inference_providers --> model_training["model-training ✅"]
    inference_providers --> rune_agent["rune-agent ✅"]
    api_service --> rune_agent
    adapter_registry --> evolution_svc["evolution-svc ⚠️"]
    inference_providers --> evolution_svc
    adapter_registry --> training_svc["training-svc ✅"]
    model_training --> training_svc
    training_svc --> hypernetwork["hypernetwork ✅"]
    rune_agent --> hypernetwork
    rune_agent --> scripts["scripts/ orchestration ✅"]
    training_svc --> scripts
    evolution_svc --> scripts