Connect what should stick; select what is for this ask
Upstream connections stay in the files for git and the next session. Selection lives in `.bh/cache/selection.yaml` only while BaseHalf is open, so “this” stays for one ask.
You have a note open and Claude Code waiting. Two moves look similar on the canvas: draw a line to another card, or click the card and say “improve this.” They do different jobs. Mixing them up either leaves stale context in every future read, or leaves the agent guessing what you meant.
BaseHalf keeps durable structure in upstream lists and temporary focus in a selection cache. The Agent Area and the BaseHalf skill both rely on that split.

Two places context can live
| Move | Where it is stored | Who sees it later | Good for |
|---|---|---|---|
| Connect (A → B) | Plain text in B’s upstream: list, or .bh/mirror/.../upstream.yaml | Git, other editors, every later agent that opens B | Background that should keep feeding B |
| Select a card or a passage | .bh/cache/selection.yaml while BaseHalf is open and the skill is installed | Agents that read “this” / “here” right now | One ask about what you are pointing at |
Upstream is saved inside the downstream item, the way a source file declares its imports. Selection is written only while the window is open; BaseHalf removes it when the window closes. Git never sees the selection file.
The status bar’s right end shows what agents can see from the last selection. Clicking into the Agent Area to type does not change it. Only selecting does.
A small workflow that uses both
Say you are tightening an API note that already builds on a schema file.
- Connect
notes/schema.md→notes/api.mdonce, if that dependency is real for every future edit. - Open
notes/api.md, select the paragraph that is wrong (or the whole card if the whole note is in play). - In the Agent Area, ask Claude Code or Codex to rewrite “this.”
- Leave the upstream link alone unless the rewrite changes what the note should build on.
The connection keeps compounding across sessions. The selection tells the agent which slice you mean this turn. You do not paste the schema into the prompt, and you do not connect every temporary highlight into the permanent graph.
When connect is the wrong tool
Do not draw a line for a one-off “look at this passage.” That writes a path into the file. The next clone, the next teammate, and the next agent session all treat that path as lasting input. Use select instead.
Do not select when the point is that B always builds on A. Selection disappears when you close the window. Upstream is what survives a reboot, a pull, and an agent started outside the Agent Area with the skill installed.
Limits worth knowing
BaseHalf never dumps the folder into an agent’s prompt. Agents read files with their own tools. A request that names something else still wins over selection: “improve the summary” means the summary, whatever is selected.
Connecting across folders is allowed; there is often no line on the current canvas, but the badge still lists the entry. Selecting two or more cards passes every selected card. Selecting text in a PDF or book passes the text, the document, and the pages or chapter.
Use connect when the graph should remember. Use select when you are pointing for this ask.