Current section

Files

Jump to
faber_neuroevolution guides silos assets task-silo-dataflow.svg
Raw

guides/silos/assets/task-silo-dataflow.svg

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 550">
<defs>
<linearGradient id="taskBlue2" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#5BA3E0"/>
<stop offset="100%" style="stop-color:#4A90D9"/>
</linearGradient>
<linearGradient id="engineGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#8b5cf6"/>
<stop offset="100%" style="stop-color:#7c3aed"/>
</linearGradient>
<linearGradient id="eventGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#ec4899"/>
<stop offset="100%" style="stop-color:#db2777"/>
</linearGradient>
<marker id="arrowBlue" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#4A90D9"/>
</marker>
<marker id="arrowPurple" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#7c3aed"/>
</marker>
<marker id="arrowPink" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#db2777"/>
</marker>
<marker id="arrowGreen" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#22c55e"/>
</marker>
<marker id="arrowOrange" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#f59e0b"/>
</marker>
<filter id="shadow2" x="-10%" y="-10%" width="120%" height="120%">
<feDropShadow dx="2" dy="2" stdDeviation="2" flood-opacity="0.2"/>
</filter>
</defs>
<!-- Background -->
<rect width="900" height="550" fill="#f8fafc"/>
<!-- Title -->
<text x="450" y="30" text-anchor="middle" font-family="Arial, sans-serif" font-size="20" font-weight="bold" fill="#1e293b">Task Silo Integration with Neuroevolution Engine</text>
<!-- Evolution Engine Box -->
<rect x="40" y="60" width="200" height="200" rx="10" fill="white" stroke="#7c3aed" stroke-width="2" filter="url(#shadow2)"/>
<rect x="40" y="60" width="200" height="35" rx="10" fill="url(#engineGrad)"/>
<rect x="40" y="85" width="200" height="10" fill="url(#engineGrad)"/>
<text x="140" y="85" text-anchor="middle" font-family="Arial, sans-serif" font-size="13" font-weight="bold" fill="white">Evolution Engine</text>
<text x="55" y="115" font-family="Arial, sans-serif" font-size="11" fill="#5b21b6">Populations</text>
<text x="55" y="135" font-family="Arial, sans-serif" font-size="11" fill="#5b21b6">Fitness Evaluation</text>
<text x="55" y="155" font-family="Arial, sans-serif" font-size="11" fill="#5b21b6">Selection</text>
<text x="55" y="175" font-family="Arial, sans-serif" font-size="11" fill="#5b21b6">Mutation</text>
<text x="55" y="195" font-family="Arial, sans-serif" font-size="11" fill="#5b21b6">Crossover</text>
<text x="55" y="215" font-family="Arial, sans-serif" font-size="11" fill="#5b21b6">Speciation</text>
<text x="55" y="235" font-family="Arial, sans-serif" font-size="11" fill="#5b21b6">Topology Evolution</text>
<!-- Task Silo Box -->
<rect x="350" y="80" width="200" height="160" rx="10" fill="white" stroke="#4A90D9" stroke-width="2" filter="url(#shadow2)"/>
<rect x="350" y="80" width="200" height="35" rx="10" fill="url(#taskBlue2)"/>
<rect x="350" y="105" width="200" height="10" fill="url(#taskBlue2)"/>
<text x="450" y="105" text-anchor="middle" font-family="Arial, sans-serif" font-size="13" font-weight="bold" fill="white">Task Silo</text>
<text x="365" y="135" font-family="Arial, sans-serif" font-size="10" fill="#1e40af">get_recommendations(Stats)</text>
<text x="365" y="155" font-family="Arial, sans-serif" font-size="10" fill="#1e40af">update_stats(Stats)</text>
<text x="365" y="175" font-family="Arial, sans-serif" font-size="10" fill="#1e40af">velocity_state tracking</text>
<text x="365" y="195" font-family="Arial, sans-serif" font-size="10" fill="#1e40af">L1 tactical adjustments</text>
<text x="365" y="215" font-family="Arial, sans-serif" font-size="10" fill="#1e40af">L2 guidance integration</text>
<!-- Resource Silo Box -->
<rect x="660" y="60" width="200" height="120" rx="10" fill="white" stroke="#22c55e" stroke-width="2" filter="url(#shadow2)"/>
<rect x="660" y="60" width="200" height="30" rx="10" fill="#22c55e"/>
<rect x="660" y="80" width="200" height="10" fill="#22c55e"/>
<text x="760" y="82" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="white">Resource Silo</text>
<text x="675" y="110" font-family="Arial, sans-serif" font-size="10" fill="#166534">pressure_signal</text>
<text x="675" y="125" font-family="Arial, sans-serif" font-size="10" fill="#166534">max_evals_per_individual</text>
<text x="675" y="140" font-family="Arial, sans-serif" font-size="10" fill="#166534">should_simplify</text>
<text x="675" y="155" font-family="Arial, sans-serif" font-size="10" fill="#166534">local_capacity</text>
<!-- Distribution Silo Box -->
<rect x="660" y="200" width="200" height="100" rx="10" fill="white" stroke="#f59e0b" stroke-width="2" filter="url(#shadow2)"/>
<rect x="660" y="200" width="200" height="30" rx="10" fill="#f59e0b"/>
<rect x="660" y="220" width="200" height="10" fill="#f59e0b"/>
<text x="760" y="222" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="white">Distribution Silo</text>
<text x="675" y="250" font-family="Arial, sans-serif" font-size="10" fill="#92400e">island_diversity_score</text>
<text x="675" y="265" font-family="Arial, sans-serif" font-size="10" fill="#92400e">migration_activity</text>
<text x="675" y="280" font-family="Arial, sans-serif" font-size="10" fill="#92400e">remote_capacity_available</text>
<!-- Event Bus Box -->
<rect x="350" y="320" width="200" height="80" rx="10" fill="white" stroke="#db2777" stroke-width="2" filter="url(#shadow2)"/>
<rect x="350" y="320" width="200" height="30" rx="10" fill="url(#eventGrad)"/>
<rect x="350" y="340" width="200" height="10" fill="url(#eventGrad)"/>
<text x="450" y="342" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="white">Event Bus</text>
<text x="365" y="370" font-family="Arial, sans-serif" font-size="10" fill="#9d174d">task_silo_stagnation_warning</text>
<text x="365" y="385" font-family="Arial, sans-serif" font-size="10" fill="#9d174d">task_silo_intervention_started</text>
<!-- Cross-Silo Router Box -->
<rect x="600" y="340" width="160" height="60" rx="8" fill="#e0e7ff" stroke="#6366f1" stroke-width="1.5"/>
<text x="680" y="365" text-anchor="middle" font-family="Arial, sans-serif" font-size="11" font-weight="bold" fill="#4338ca">lc_cross_silo</text>
<text x="680" y="385" text-anchor="middle" font-family="Arial, sans-serif" font-size="9" fill="#4338ca">Signal routing &amp; decay</text>
<!-- Arrows - Engine to Task Silo -->
<path d="M240 140 L340 140" stroke="#7c3aed" stroke-width="2" stroke-dasharray="5,3" marker-end="url(#arrowPurple)"/>
<text x="290" y="130" text-anchor="middle" font-family="Arial, sans-serif" font-size="9" fill="#7c3aed">Stats</text>
<!-- Arrow - Task Silo to Engine -->
<path d="M340 180 L240 180" stroke="#4A90D9" stroke-width="2" marker-end="url(#arrowBlue)"/>
<text x="290" y="198" text-anchor="middle" font-family="Arial, sans-serif" font-size="9" fill="#4A90D9">Hyperparams</text>
<!-- Arrow - Task Silo to Resource Silo (request) -->
<path d="M550 120 L660 100" stroke="#22c55e" stroke-width="1.5" stroke-dasharray="4,2" marker-end="url(#arrowGreen)"/>
<text x="600" y="95" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#22c55e">desired_evals</text>
<!-- Arrow - Resource Silo to Task Silo (constraint) -->
<path d="M660 150 L560 170" stroke="#22c55e" stroke-width="1.5" marker-end="url(#arrowGreen)"/>
<text x="615" y="175" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#22c55e">pressure_signal</text>
<!-- Arrow - Task Silo to Distribution Silo -->
<path d="M550 200 L660 230" stroke="#f59e0b" stroke-width="1.5" stroke-dasharray="4,2" marker-end="url(#arrowOrange)"/>
<text x="600" y="205" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#f59e0b">diversity_need</text>
<!-- Arrow - Distribution Silo to Task Silo -->
<path d="M660 270 L560 220" stroke="#f59e0b" stroke-width="1.5" marker-end="url(#arrowOrange)"/>
<text x="615" y="260" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#f59e0b">diversity_score</text>
<!-- Arrow - Task Silo to Event Bus -->
<path d="M450 240 L450 310" stroke="#db2777" stroke-width="1.5" marker-end="url(#arrowPink)"/>
<text x="475" y="280" text-anchor="start" font-family="Arial, sans-serif" font-size="9" fill="#db2777">Events</text>
<!-- Arrow - Cross-Silo to Task Silo -->
<path d="M600 360 L560 300" stroke="#6366f1" stroke-width="1.5" stroke-dasharray="3,2"/>
<!-- Control Loop Description -->
<rect x="40" y="420" width="820" height="110" rx="8" fill="white" stroke="#cbd5e1" stroke-width="1"/>
<text x="450" y="445" text-anchor="middle" font-family="Arial, sans-serif" font-size="14" font-weight="bold" fill="#1e293b">Control Loop Flow</text>
<text x="60" y="470" font-family="Arial, sans-serif" font-size="11" fill="#334155">
<tspan font-weight="bold">1.</tspan> Engine completes generation, sends Stats (best_fitness, improvement, total_evaluations)
</text>
<text x="60" y="490" font-family="Arial, sans-serif" font-size="11" fill="#334155">
<tspan font-weight="bold">2.</tspan> Task Silo updates velocity_state, computes stagnation_severity
</text>
<text x="60" y="510" font-family="Arial, sans-serif" font-size="11" fill="#334155">
<tspan font-weight="bold">3.</tspan> L1 applies tactical boosts (exploration/exploitation), L2 provides guidance
</text>
<text x="450" y="470" font-family="Arial, sans-serif" font-size="11" fill="#334155">
<tspan font-weight="bold">4.</tspan> Cross-silo signals received (resource pressure, distribution diversity)
</text>
<text x="450" y="490" font-family="Arial, sans-serif" font-size="11" fill="#334155">
<tspan font-weight="bold">5.</tspan> Recommendations computed (mutation_rate, add_node_rate, etc.)
</text>
<text x="450" y="510" font-family="Arial, sans-serif" font-size="11" fill="#334155">
<tspan font-weight="bold">6.</tspan> Engine applies hyperparameters to next generation
</text>
</svg>