Skip to main content

Module brainstorm

Module brainstorm 

Source
Expand description

Brainstorming with the pair: existing pieces, paired in ways nobody has.

The premise is that the parts of an answer usually exist already, in the problem’s own field or an adjacent one, and what is missing is the pairing. So the agents are not asked to invent. They are asked to take inventory of what exists and then to combine, and every idea has to name its parts and the nearest thing that already does something like it.

Nothing is edited between rounds, so the custody loop in crate::review does not apply. The shape is the one spar review uses:

  1. Diverge. Both agents propose at the same time, neither seeing the other. An idea both reach on their own is the strongest signal there is.
  2. Cross. Each reads only the other’s ideas and, for each, builds on it with a further piece, challenges it by naming where it already exists or why it cannot work, or keeps it. These are the middle rounds.
  3. Converge. Whoever proposed a challenged idea defends it with specifics or withdraws it, and both rank what is left.

The settle is mechanical. Nothing here lets one agent overrule the other: an idea leaves the set only when its own proposer withdraws it or never answers the objection, and the order is the sum of two rankings.

Structs§

Candidate
One idea, with everything the rounds said about it.
Outcome
What a session produced.
Session
What one spar brainstorm was asked for.

Enums§

Standing
Where an idea stands after the rounds that have run.

Functions§

apply_converge
One agent’s defences and ranking onto the set.
apply_cross
One agent’s rulings onto the set. Builds are collected rather than pushed so a build cannot be ruled on in the round that produced it.
default_path
Where a session goes unless --out says otherwise.
file_ideas
File each idea, or add it to the issue that already covers it. One failure does not stop the rest; the write ledger makes the exit status say so.
idea_sections
The six sections an idea is written in, wherever it is written.
issue_body
The whole body of an idea as it is filed: the sections and the discussion.
issue_entries
What the kept ideas become when filed from a live run.
merge
Both lists into one numbered set. An idea both agents reached is kept once, in the longer wording, with both names on it.
parse_session
The ideas in a saved session, as title and body, with the provenance line taken out of each body so what is filed carries no agent’s name.
print_summary
What the terminal gets: the kept ideas in order, and where the rest went.
render_session
The session file.
run
Run the rounds and settle the set.
settle
Keep the best wanted, and say why the rest were set aside.
slug
A file name fragment from a topic: lowercase, runs of anything but a letter or digit collapsed to one hyphen, cut at a word, “idea” when nothing is left.