FN-8546: fix ideation candidate discovery
Expose persisted ideation candidate identities so agents can select a candidate for convergence. - Render candidate IDs, provenance, source references, and content in show and diverge responses. - Cover discover-to-converge behavior, duplicate content, empty sessions, and missing sessions. - Document the direct candidate-ID convergence workflow and add a patch changeset. Files changed: .changeset/fn-8546-ideation-candidate-ids.md | 7 ++ docs/agent-tool-surface-full-loop.md | 4 +- docs/ideation/persisted-diverge-converge.md | 6 +- .../src/__tests__/agent-ideation-tools.test.ts | 93 +++++++++++++++++++--- packages/engine/src/agent-tools.ts | 23 +++++- 5 files changed, 116 insertions(+), 17 deletions(-) Fusion-Task-Id: FN-8546 Fusion-Task-Lineage: 7232701f-5c6b-40fc-8d46-d65b97af9c0a Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# Full-loop agent tool-surface audit and delivery plan
|
||||
|
||||
> **Status:** The mission-hierarchy and persisted-ideation gaps recorded below have been delivered. Current `fn_ideation_*` tools share the persisted factory across engine and eligible chat lanes; show/diverge text includes canonical candidate IDs and provenance so agents can converge an explicit candidate. Remaining entries are the historical delivery audit.
|
||||
|
||||
[← Docs index](./README.md)
|
||||
|
||||
<!--
|
||||
@@ -9,7 +11,7 @@ FR-08 requires chat and agent sessions to reach the complete build loop through
|
||||
|
||||
## Decision summary
|
||||
|
||||
Fusion already has useful task, workflow, goal, research, execution, and verification tools. It does **not** yet give an engine agent or dashboard chat session a complete native route from an idea or research result into the execution-oriented mission hierarchy. In particular, `packages/engine/src/agent-tools.ts` has no `fn_mission_*`, `fn_milestone_*`, `fn_slice_*`, or `fn_feature_*` factory, and no ideation diverge/converge tool. Research can be run by qualifying sessions, but its current handoff ends at a task document/task action rather than an attributable roadmap feature.
|
||||
Fusion has useful task, workflow, goal, research, execution, verification, mission-hierarchy, and persisted ideation tools. Engine agents and eligible dashboard chat sessions can use shared mission and ideation factories to create or attach a Mission handoff. Ideation show/diverge text returns canonical candidate IDs and provenance so agents can pass an ID directly to convergence. Research can be run by qualifying sessions, but its current handoff ends at a task document/task action rather than an attributable roadmap feature.
|
||||
|
||||
The mission hierarchy is **Mission → Milestone → Slice → Feature → Task** ([Missions](./missions.md)); it is not the separate lightweight `Roadmap → RoadmapMilestone → RoadmapFeature` model. This document uses “roadmap” to mean the execution-oriented mission hierarchy unless it explicitly says otherwise.
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
Fusion ideation is a project-scoped, bounded operation rather than a free-form document.
|
||||
|
||||
1. Start a session with `fn_ideation_start` or Command Center → **Ideation**.
|
||||
2. Record alternatives with `fn_ideation_diverge`; each candidate records an `agent`, `human`, or `research` origin and optional source reference.
|
||||
3. Inspect sessions with `fn_ideation_list` and `fn_ideation_show`.
|
||||
4. Converge an explicit candidate using `fn_ideation_converge` or the Command Center action.
|
||||
2. Record alternatives with `fn_ideation_diverge`; each candidate records an `agent`, `human`, or `research` origin and optional source reference. Its response lists every newly assigned candidate ID with that provenance and full content.
|
||||
3. Inspect sessions with `fn_ideation_list` and `fn_ideation_show`. Show lists every persisted candidate's ID, origin, source-reference state (`none` when omitted), and full content; it explicitly reports when a session has no candidates.
|
||||
4. Copy a candidate ID from diverge or show directly into `fn_ideation_converge` (or use the Command Center action) to converge that explicit candidate.
|
||||
|
||||
Convergence creates a canonical Mission by default, or attaches to a supplied `targetMissionId`. The selected candidate and session persist the Mission (and optional Feature) linkage. It never writes an orphan ideation document as the handoff.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user