actor actor#1 "architect" @43:19 order=3
ask ask#1 "architect" @44:34 order=4 type="Contract"
actor actor#2 "harness" @48:17 order=6
join join#1 "join" @50:39 order=7 type="[BuildReport, ...BuildReport[]]" ports="BuildReport","BuildReport"
ask ask#2 "harness" @51:11 order=8 type="BuildReport"
fan-out fan-out#1 "fan-out" @52:6 order=9 count=5 type="BuildReport[]"
ask ask#3 "ask" head="builder-" @52:45 order=10 within=fan-out#1 type="BuildReport"
actor actor#3 head="builder-" @52:23 order=11 within=fan-out#1
actor actor#4 "fixer" @57:15 order=14
world-read world-read#1 "run node" @60:27 order=15 type="WorldRunResult"
ask ask#4 "fixer" @62:29 order=16 type="FixReport"
world-read world-read#2 "run node" @66:27 order=18 type="WorldRunResult"
ask ask#5 "fixer" @69:17 order=19 type="FixReport"
actor actor#5 "jury-a" @79:15 order=20
actor actor#6 "jury-b" @80:15 order=21
actor actor#7 "jury-c" @81:15 order=22
actor actor#8 "polisher" @82:18 order=23
world-read world-read#3 "run node" @87:29 order=24 type="WorldRunResult"
ask ask#6 "fixer" @89:17 order=25 type="FixReport"
join join#2 "join" @92:34 order=26 type="JuryVerdict[]"
fan-out fan-out#2 "fan-out" @92:38 order=27 count=3 type="JuryVerdict[]"
ask ask#7 "j" @92:73 order=28 within=fan-out#2 type="JuryVerdict"
ask ask#8 "polisher" @97:18 order=31 type="FixReport"
world-read world-read#4 "run node" @101:29 order=32 type="WorldRunResult"
ask ask#9 "juryA" @103:33 order=33 type="JuryVerdict"
world-read world-read#5 "run node" @110:30 order=35 type="WorldRunResult"
world-read world-read#6 "run node" @111:30 order=36 type="WorldRunResult"
fact ask-data ask#3 <- fan-out#1 exact
fact ask-data ask#4 <- world-read#1 exact
fact ask-data ask#5 <- world-read#2 exact
fact ask-data ask#6 <- world-read#3 exact
fact ask-data ask#8 <- ask#7 exact
fact ask-data ask#8 <- join#2 exact
fact ask-data ask#8 <- fan-out#2 exact
fact ask-data ask#8 <- ask#9 exact
fact ask-actor ask#1 <- actor#1 exact
fact ask-actor ask#2 <- actor#2 exact
fact ask-actor ask#3 <- actor#3 exact
fact ask-actor ask#4 <- actor#4 exact
fact ask-actor ask#5 <- actor#4 exact
fact ask-actor ask#6 <- actor#4 exact
fact ask-actor ask#7 <- actor#5 exact
fact ask-actor ask#7 <- actor#6 exact
fact ask-actor ask#7 <- actor#7 exact
fact ask-actor ask#8 <- actor#8 exact
fact ask-actor ask#9 <- actor#5 exact
fact join-in join#1 <- ask#2 exact
fact join-in join#1 <- ask#3 exact
fact join-in join#1 <- fan-out#1 exact
fact join-in join#2 <- ask#7 exact
fact join-in join#2 <- fan-out#2 exact
fact return <- ask#1 exact
fact return <- world-read#5 exact
fact return <- world-read#6 exact
fact return <- ask#7 exact
fact return <- join#2 exact
fact return <- fan-out#2 exact
fact return <- ask#9 exact
region seq#1 seq entered
region fanout#1 fanout parent=seq#1 @52:6 label="map"
region fanout#2 fanout parent=seq#1 @54:35 label="map"
region choice#1 choice parent=seq#1 @59:21 entered
region branch#1 branch parent=choice#1 @59:46
region loop#1 loop parent=seq#1 @59:1
region choice#2 choice parent=loop#1 @61:3 entered
region branch#2 branch parent=choice#2 @61:27
region choice#3 choice parent=loop#1 @68:3 entered
region branch#3 branch parent=choice#3 @68:20
region choice#4 choice parent=seq#1 @72:1 entered
region branch#4 branch parent=choice#4 @72:18
region loop#2 loop parent=seq#1 @86:1
region choice#5 choice parent=loop#2 @88:3 entered
region branch#5 branch parent=choice#5 @88:29
region fanout#3 fanout parent=loop#2 @92:38 label="map"
region call#1 call parent=loop#2 @93:10 entered label="consolidate"
region loop#3 loop parent=call#1 @38:3
region loop#4 loop parent=loop#3 @38:29
region fanout#4 fanout parent=call#1 @39:10 label="sort"
region choice#6 choice parent=loop#2 @94:17 entered
region branch#6 branch parent=choice#6 @94:36
region fanout#5 fanout parent=branch#6 @94:36 label="every"
region choice#7 choice parent=loop#2 @95:3 entered
region branch#7 branch parent=choice#7 @95:20
region fanout#6 fanout parent=loop#2 @96:17 label="filter"
region choice#8 choice parent=seq#1 @100:1 entered
region branch#8 branch parent=choice#8 @100:18
region choice#9 choice parent=branch#8 @102:3 entered
region branch#9 branch parent=choice#9 @102:29
region call#2 call parent=branch#9 @104:12 entered label="consolidate"
region loop#5 loop parent=call#2 @38:3
region loop#6 loop parent=loop#5 @38:29
region fanout#7 fanout parent=call#2 @39:10 label="sort"
region choice#10 choice parent=branch#9 @105:19 entered
region branch#10 branch parent=choice#10 @105:38
region fanout#8 fanout parent=branch#10 @105:38 label="every"
region choice#11 choice parent=seq#1 @113:15 entered
region branch#11 branch parent=choice#11 @113:42
mark phase#1 in=seq#1
spawn actor#1 in=seq#1
issue ask#1 in=seq#1 phase=phase#1
settle ask#1 in=seq#1
mark phase#2 in=seq#1
spawn actor#2 in=seq#1
issue ask#2 in=seq#1 phase=phase#2
spawn actor#3 in=seq#1>fanout#1
issue ask#3 in=seq#1>fanout#1 phase=phase#2
settle ask#2,ask#3 in=seq#1
mark phase#3 in=seq#1
spawn actor#4 in=seq#1
issue world-read#1 in=seq#1>loop#1 phase=phase#3
settle world-read#1 in=seq#1>loop#1
issue ask#4 in=seq#1>loop#1>choice#2>branch#2 phase=phase#3
settle ask#4 in=seq#1>loop#1>choice#2>branch#2
jump continue loop#1 in=seq#1>loop#1>choice#2>branch#2 phase=phase#3
issue world-read#2 in=seq#1>loop#1 phase=phase#3
settle world-read#2 in=seq#1>loop#1
issue ask#5 in=seq#1>loop#1>choice#3>branch#3 phase=phase#3
settle ask#5 in=seq#1>loop#1>choice#3>branch#3
jump return seq#1 in=seq#1>choice#4>branch#4 phase=phase#3
mark phase#4 in=seq#1
spawn actor#5 in=seq#1
spawn actor#6 in=seq#1
spawn actor#7 in=seq#1
spawn actor#8 in=seq#1
issue world-read#3 in=seq#1>loop#2 phase=phase#4
settle world-read#3 in=seq#1>loop#2
issue ask#6 in=seq#1>loop#2>choice#5>branch#5 phase=phase#4
settle ask#6 in=seq#1>loop#2>choice#5>branch#5
jump continue loop#2 in=seq#1>loop#2>choice#5>branch#5 phase=phase#4
issue ask#7 in=seq#1>loop#2>fanout#3 phase=phase#4
settle ask#7 in=seq#1>loop#2
jump return call#1 in=seq#1>loop#2>call#1 phase=phase#4
jump break loop#2 in=seq#1>loop#2>choice#7>branch#7 phase=phase#4
issue ask#8 in=seq#1>loop#2 phase=phase#4
settle ask#8 in=seq#1>loop#2
issue world-read#4 in=seq#1>choice#8>branch#8 phase=phase#4
settle world-read#4 in=seq#1>choice#8>branch#8
issue ask#9 in=seq#1>choice#8>branch#8>choice#9>branch#9 phase=phase#4
settle ask#9 in=seq#1>choice#8>branch#8>choice#9>branch#9
jump return call#2 in=seq#1>choice#8>branch#8>choice#9>branch#9>call#2 phase=phase#4
mark phase#5 in=seq#1
issue world-read#5 in=seq#1 phase=phase#5
settle world-read#5 in=seq#1
issue world-read#6 in=seq#1 phase=phase#5
settle world-read#6 in=seq#1
jump return seq#1 in=seq#1 phase=phase#5
control branch#1 by=world-read#2
control loop#1 by=world-read#2
control branch#2 by=world-read#1
control branch#3 by=world-read#2
control branch#4 by=world-read#2
control branch#5 by=world-read#3
control branch#6 maybe=ask#7,ask#9
control branch#7 maybe=ask#7,ask#9
control branch#9 by=world-read#4
control branch#10 maybe=ask#7,ask#9
control branch#11 by=world-read#5
phase phase#1 "总设计" @42:1
phase phase#2 "并行构建" @47:1
phase phase#3 "集成与门禁" @56:1
phase phase#4 "视觉评审" @77:1
phase phase#5 "终验与交付" @109:1
