The script holds the plan; the agent only fills each cell
Topic selection is not handed to one agent to think through end to end. About 190 lines of topic-selection.js hard-code the control flow into four phases, and the script decides what runs in parallel, what waits and what may pass, while the agent only fills the current cell.
the script holds the plan
what runs in parallel · what waits · what may pass to the next phase, all fixed in the script
phase 1
Collect
agent · tracker feedagent · deep feed
parallel fan-out
one per feed
barrier
phase 2
Dedup
1 agent
discard list · index · disk
all three checked
barrier
phase 3
Score
insight-filterinsight-filterinsight-filter
parallel fan-out
one per candidate
barrier
phase 4
Rank
1 agent
picks + rejections
into the day's shortlist
schema · SCORE_SCHEMAevery subagent returns fixed JSON fields, not a paragraph of prose.
await parallel(...)parallelism stays inside a phase; the barrier keeps partial results from flowing on early.
filter(isReal)even if an agent says keep, PR-speak or a forced so-what is still dropped in code.