Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/nornir

.nornir/assets/funnel-planner-executor.svg

<svg xmlns="http://www.w3.org/2000/svg" width="880" height="300" viewBox="0 0 880 300" font-family="ui-sans-serif,system-ui,sans-serif">
  <style>
    .box{fill:#f4f1ea;stroke:#6b6357;stroke-width:1.5;rx:8}
    .t{fill:#2b2620;font-size:13px}
    .s{fill:#6b6357;font-size:11px}
    .lbl{fill:#8a5a3b;font-size:11px;font-weight:600}
    .arrow{stroke:#6fb0cc;stroke-width:2;fill:none;marker-end:url(#a)}
    .loop{stroke:#c9803b;stroke-width:2;fill:none;marker-end:url(#a);stroke-dasharray:5 3}
  </style>
  <defs><marker id="a" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto"><path d="M0,0 L7,3 L0,6 Z" fill="#6b6357"/></marker></defs>

  <text x="20" y="26" class="lbl">PLANNER (Claude — decompose)</text>
  <rect class="box" x="20" y="36" width="150" height="64" rx="8"/>
  <text x="34" y="60" class="t">idea → subtasks</text>
  <text x="34" y="78" class="s">llm_decompose +</text>
  <text x="34" y="92" class="s">RAG anchor → Yggdrasil</text>

  <path class="arrow" d="M170,68 L214,68"/>

  <rect class="box" x="214" y="36" width="150" height="64" rx="8"/>
  <text x="228" y="60" class="t">plan-DAG</text>
  <text x="228" y="78" class="s">funnel_events</text>
  <text x="228" y="92" class="s">promote_ready →frontier</text>

  <path class="arrow" d="M289,100 L289,150"/>

  <text x="20" y="150" class="lbl">EXECUTOR (drain_plan — separate Claude)</text>
  <rect class="box" x="214" y="160" width="150" height="64" rx="8"/>
  <text x="228" y="184" class="t">ready node</text>
  <text x="228" y="202" class="s">run_subtask_loop</text>
  <text x="228" y="216" class="s">generate → judge</text>

  <path class="arrow" d="M364,192 L420,192"/>

  <rect class="box" x="420" y="160" width="160" height="64" rx="8"/>
  <text x="434" y="184" class="t">ClaudeGenerator</text>
  <text x="434" y="202" class="s">viz::claude · opus-4-8</text>
  <text x="434" y="216" class="s">(= a jera job)</text>

  <path class="arrow" d="M580,192 L636,192"/>

  <rect class="box" x="636" y="160" width="150" height="64" rx="8"/>
  <text x="650" y="184" class="t">AnswerJudge</text>
  <text x="650" y="202" class="s">compiler / cargo test</text>
  <text x="650" y="216" class="s">= the oracle</text>

  <path class="arrow" d="M786,180 L836,180"/>
  <text x="800" y="150" class="lbl">Done</text>
  <rect class="box" x="792" y="160" width="70" height="30" rx="8"/>
  <text x="806" y="180" class="t">Done</text>

  <!-- re-promote loop -->
  <path class="loop" d="M711,224 L711,262 L289,262 L289,224"/>
  <text x="470" y="278" class="lbl">re-promote frontier · until drained or blocked</text>
</svg>