save_crossing
Save a graph crossing (edge between two pieces) with its associated insight. Three modes:
PRODUCTIVE (default): the edge produced a useful insight. Set reframing = the synthesized finding. Surfaces in future consult() calls.
DEAD END (dead_end=true): you traversed this edge and found nothing useful. Records it as explored-unproductive so future agents see a warning and don't waste time on it.
LIVE WIRE (status='live_wire'): the edge is permanently unresolvable — the open tension itself is the value. Routes future agents toward it rather than warning them away. Use for genuine hard limits (e.g. consciousness, halting problem) not failed analysis.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | 'productive' (default), 'dead_end' (path produces nothing — warns future agents), or 'live_wire' (permanently open question — routes future agents toward it, because humans can't resolve it either) | |
| tension | Yes | The contradiction or friction you found between the two pieces | |
| agent_id | No | Optional: identify yourself | |
| dead_end | No | Shorthand for status='dead_end'. Use status field instead when possible. | |
| to_piece | Yes | Target piece ID where it resolves or intensifies | |
| reframing | Yes | For productive crossings: the insight you're carrying home. For dead ends: describe what the wall looks like. | |
| from_piece | Yes | Source piece ID where the tension begins | |
| dead_end_note | No | For dead_end/live_wire: describe what you found. For dead ends: the wall. For live wires: why the staying-open is the value. | |
| problem_domain | No | The kind of problem this applies to (optional) |