
digraph G {
  graph [
    bgcolor="white", pad="0.28", nodesep="0.38", ranksep="0.58",
    fontname="WenQuanYi Zen Hei", fontcolor="#17212B", fontsize=24,
    labelloc="t", labeljust="l"
  ];
  node [
    shape=box, style="rounded,filled", margin="0.18,0.12",
    fontname="WenQuanYi Zen Hei", fontcolor="#17212B", fontsize=12,
    color="#CBD5E1", penwidth=1.3, fillcolor="#F8FAFC"
  ];
  edge [
    fontname="WenQuanYi Zen Hei", fontcolor="#64748B", fontsize=10,
    color="#64748B", penwidth=1.5, arrowsize=0.75
  ];

  label="图 1-3  单个工作项的跨进程执行次序";
  rankdir=TB;

  n1 [label="① Worker → Master\nTAG_READY {rank, bitmap_version}", fillcolor="#CCFBF1", color="#0F766E"];
  n2 [label="② Master\n扫描 AFL queue、打分与选种", fillcolor="#DBEAFE", color="#2563EB"];
  n3 [label="③ Master → Worker\nTAG_WORK：内容对象、策略、B1 delta", fillcolor="#CCFBF1", color="#0F766E"];
  n4 [label="④ Worker\nbmsync 合并 B1→B2；import 落地输入", fillcolor="#CCFBF1", color="#0F766E"];
  n5 [label="⑤ Concolic 子进程\n执行目标；B3 过滤分支；Z3/fast 求解；写候选", fillcolor="#FFEDD5", color="#C2410C"];
  n6 [label="⑥ Worker\nblake2b 内容预去重", fillcolor="#F1F5F9"];
  n7 [label="⑦ afl-showmap\n批量重放 AFL 插桩二进制，返回稀疏边", fillcolor="#DBEAFE", color="#2563EB"];
  n8 [label="⑧ Worker\nB2 合并判新，仅保留本地新覆盖", fillcolor="#CCFBF1", color="#0F766E"];
  n9 [label="⑨ Worker → Master\nTAG_RESULT：new_tests、hints、telemetry", fillcolor="#CCFBF1", color="#0F766E"];
  n10 [label="⑩ Master\nB1 最终裁决；原子写 queue / extras；回压反馈队列", fillcolor="#DBEAFE", color="#2563EB"];
  n11 [label="AFL 导入\n兄弟目录默认等待 10 min\n短 benchmark 未到达", fillcolor="#FEE2E2", color="#B91C1C"];
  n12 [label="反馈迭代\naccepted input 代数 +1，再进入调度", fillcolor="#DCFCE7", color="#15803D"];

  n1 -> n2 -> n3 -> n4 -> n5 -> n6 -> n7 -> n8 -> n9 -> n10;
  n10 -> n11 [label="解的交付", color="#B91C1C"];
  n10 -> n12 [label="helper 内闭环", color="#15803D"];
  n12 -> n2 [constraint=false, style=dashed, color="#15803D"];

  early [shape=note, label="continuation_id 提前分支\n恢复 checkpoint → 有界推进 → TAG_RESULT\n跳过 native 步骤 ④–⑧", fillcolor="#EDE9FE", color="#6D28D9"];
  n3 -> early [style=dashed, color="#6D28D9"];
  early -> n10 [style=dashed, color="#6D28D9"];

}
