init commit
This commit is contained in:
85
docs/graphs/efhas_agent.dot
Normal file
85
docs/graphs/efhas_agent.dot
Normal file
@@ -0,0 +1,85 @@
|
||||
digraph efhas_agent {
|
||||
rankdir=TB
|
||||
bgcolor="#0a0e17"
|
||||
fontname="Helvetica"
|
||||
node [fontname="Helvetica" fontsize=10 style=filled color="#1e2a4a" fontcolor="#e8eaf0"]
|
||||
edge [fontname="Helvetica" fontsize=9 fontcolor="#8892a8" color="#4a5568"]
|
||||
|
||||
label="FCE Agent — Behind Every Departure"
|
||||
labelloc=t
|
||||
fontsize=14
|
||||
fontcolor="#0066ff"
|
||||
|
||||
start [label="START" fillcolor="#0066ff" shape=circle fontcolor="white" width=0.5]
|
||||
end_skip [label="END\n(no notification)" fillcolor="#4a5568" shape=doublecircle fontcolor="#e8eaf0" width=0.6]
|
||||
end_done [label="END" fillcolor="#00c853" shape=doublecircle fontcolor="white" width=0.5]
|
||||
|
||||
subgraph cluster_triage {
|
||||
label="Node: triage"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#8892a8"
|
||||
triage [label="get_flight_status()\n\ndelay < 10min → skip\nON_TIME → skip" fillcolor="#121829" shape=box]
|
||||
}
|
||||
|
||||
subgraph cluster_gather {
|
||||
label="Node: gather_context (parallel)"
|
||||
color="#0066ff"
|
||||
fontcolor="#0066ff"
|
||||
|
||||
gather_label [label="" shape=point width=0]
|
||||
|
||||
subgraph cluster_gather_tools {
|
||||
rank=same
|
||||
g1 [label="get_flight_\ndetails\n[shared]" fillcolor="#0d1a33" shape=box]
|
||||
g2 [label="get_route_\nweather\n[shared] ★ LIVE" fillcolor="#0d2a0d" shape=box fontcolor="#00c853"]
|
||||
g3 [label="get_airport_\nstatus\n[shared] ★ LIVE" fillcolor="#0d2a0d" shape=box fontcolor="#00c853"]
|
||||
g4 [label="get_airport_\ncongestion\n[shared] ★ HYBRID" fillcolor="#0d2a0d" shape=box fontcolor="#ffc107"]
|
||||
g5 [label="get_crew_\nnotes\n[ops]" fillcolor="#0d1a33" shape=box]
|
||||
}
|
||||
}
|
||||
|
||||
subgraph cluster_synth {
|
||||
label="Node: synthesize"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#8892a8"
|
||||
synth [label="generate_notification()\n[passenger server]\n\nContext → empathetic text\nMissing data → omit section" fillcolor="#121829" shape=box]
|
||||
}
|
||||
|
||||
subgraph cluster_format {
|
||||
label="Node: format_output"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#8892a8"
|
||||
format [label="Structure notification JSON\nAttach data sources\nRecord timing" fillcolor="#121829" shape=box]
|
||||
}
|
||||
|
||||
subgraph cluster_review {
|
||||
label="Node: human_review"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#8892a8"
|
||||
review [label="Human approval gate\n(auto-approve in demo)" fillcolor="#121829" shape=box]
|
||||
}
|
||||
|
||||
// Flow
|
||||
start -> triage
|
||||
|
||||
triage -> end_skip [label="should_notify = false" style=dashed color="#ff3d00" fontcolor="#ff3d00"]
|
||||
triage -> gather_label [label="should_notify = true"]
|
||||
|
||||
gather_label -> g1 [color="#0066ff"]
|
||||
gather_label -> g2 [color="#0066ff"]
|
||||
gather_label -> g3 [color="#0066ff"]
|
||||
gather_label -> g4 [color="#0066ff"]
|
||||
gather_label -> g5 [color="#0066ff"]
|
||||
|
||||
g1 -> synth [style=invis]
|
||||
g2 -> synth [style=invis]
|
||||
g3 -> synth [style=invis]
|
||||
g4 -> synth [style=invis]
|
||||
g5 -> synth [style=invis]
|
||||
|
||||
{g1 g2 g3 g4 g5} -> synth [label="" color="#4a5568" constraint=true]
|
||||
|
||||
synth -> format
|
||||
format -> review
|
||||
review -> end_done
|
||||
}
|
||||
Reference in New Issue
Block a user