← Back to Kontasks
Emergent Flow Creation Explained
Explanation of how the new 'user preferences' flow auto-created
Output
New Flow Appeared - Here's Why
The New Flow
| Title | Add a new feature for user preferences |
| Type | feature |
| Created | 06:27:10 UTC |
| Turns | 2 |
| Cost | $0.30 |
How Emergent Flows Work
gvFlows use an emergent model - they auto-create when work starts, rather than requiring manual creation upfront.
1. Session sends first prompt to Claude
2. System calls getOrCreateFlowForSession()
3. Checks if prompt matches existing active flows (score ≥5)
4. If no match → auto-creates new flow from prompt
5. Title extracted from first sentence (max 60 chars)
6. Type inferred from keywords ("add" → feature, "fix" → bugfix)
2. System calls getOrCreateFlowForSession()
3. Checks if prompt matches existing active flows (score ≥5)
4. If no match → auto-creates new flow from prompt
5. Title extracted from first sentence (max 60 chars)
6. Type inferred from keywords ("add" → feature, "fix" → bugfix)
Why This Happened
Someone (likely another user or a test) sent a prompt like "Add a new feature for user preferences" to a konsole session. Since the prompt:
- Didn't match existing flows (score < 5)
- Contains keyword "add" → typed as feature
- Got labeled auto-created
Current Flows Summary
| Flow | Type | Created |
|---|---|---|
| Add a new feature for user preferences | feature | 06:27 |
| Fix the authentication bug in login form | bugfix | 06:24 |
| Testing Emergent Flow System | ops | 06:00 |
Note: If these test flows are cluttering your view, you can archive or merge them. The emergent flow system is designed to be cleaned up over time as work coalesces.
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
gvflowsemergent-flows
Created
9 Jan 2026, 4:28 pm
Updated
9 Jan 2026, 4:29 pm
Timing
⏱️ 56.2s
0 tools
● TTFE 0%
● Thinking 100%
● Tools 0%
Created By
claude
Raw Data
{
"id": "8669b3ae-49cc-445f-8778-2e38714c3055",
"type": "general",
"status": "completed",
"title": "Emergent Flow Creation Explained",
"description": "Explanation of how the new 'user preferences' flow auto-created",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\">\n<h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">New Flow Appeared - Here's Why</h2>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#e5c07b;margin:0 0 12px 0;\">The New Flow</h3>\n<table style=\"width:100%;font-size:13px;\">\n<tr><td style=\"color:#7f848e;width:120px;\">Title</td><td style=\"color:#98c379;\">Add a new feature for user preferences</td></tr>\n<tr><td style=\"color:#7f848e;\">Type</td><td><span style=\"background:#22c55e;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;\">feature</span></td></tr>\n<tr><td style=\"color:#7f848e;\">Created</td><td style=\"color:#61afef;\">06:27:10 UTC</td></tr>\n<tr><td style=\"color:#7f848e;\">Turns</td><td style=\"color:#fff;\">2</td></tr>\n<tr><td style=\"color:#7f848e;\">Cost</td><td style=\"color:#f59e0b;\">$0.30</td></tr>\n</table>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#c678dd;margin:0 0 12px 0;\">How Emergent Flows Work</h3>\n<p style=\"color:#e0e0e0;line-height:1.6;margin:0 0 12px 0;\">gvFlows use an <strong style=\"color:#61afef;\">emergent model</strong> - they auto-create when work starts, rather than requiring manual creation upfront.</p>\n\n<div style=\"background:#1e1e1e;padding:12px;border-radius:4px;font-size:12px;line-height:1.8;\">\n<span style=\"color:#7f848e;\">1.</span> <span style=\"color:#e0e0e0;\">Session sends first prompt to Claude</span><br/>\n<span style=\"color:#7f848e;\">2.</span> <span style=\"color:#e0e0e0;\">System calls <span style=\"color:#98c379;\">getOrCreateFlowForSession()</span></span><br/>\n<span style=\"color:#7f848e;\">3.</span> <span style=\"color:#e0e0e0;\">Checks if prompt matches existing active flows (score ≥5)</span><br/>\n<span style=\"color:#7f848e;\">4.</span> <span style=\"color:#e0e0e0;\">If no match → <span style=\"color:#e5c07b;\">auto-creates new flow</span> from prompt</span><br/>\n<span style=\"color:#7f848e;\">5.</span> <span style=\"color:#e0e0e0;\">Title extracted from first sentence (max 60 chars)</span><br/>\n<span style=\"color:#7f848e;\">6.</span> <span style=\"color:#e0e0e0;\">Type inferred from keywords (\"add\" → feature, \"fix\" → bugfix)</span>\n</div>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#56b6c2;margin:0 0 12px 0;\">Why This Happened</h3>\n<p style=\"color:#e0e0e0;line-height:1.6;margin:0;\">Someone (likely another user or a test) sent a prompt like <span style=\"color:#98c379;\">\"Add a new feature for user preferences\"</span> to a konsole session. Since the prompt:</p>\n<ul style=\"color:#e0e0e0;margin:8px 0 0 0;padding-left:20px;\">\n<li>Didn't match existing flows (score < 5)</li>\n<li>Contains keyword <span style=\"color:#e5c07b;\">\"add\"</span> → typed as <strong>feature</strong></li>\n<li>Got labeled <span style=\"background:#3b82f6;color:#fff;padding:1px 6px;border-radius:3px;font-size:10px;\">auto-created</span></li>\n</ul>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;\">\n<h3 style=\"color:#f43f5e;margin:0 0 12px 0;\">Current Flows Summary</h3>\n<table style=\"width:100%;font-size:12px;border-collapse:collapse;\">\n<tr style=\"border-bottom:1px solid #444;\">\n<th style=\"color:#7f848e;text-align:left;padding:8px 4px;\">Flow</th>\n<th style=\"color:#7f848e;text-align:left;padding:8px 4px;\">Type</th>\n<th style=\"color:#7f848e;text-align:left;padding:8px 4px;\">Created</th>\n</tr>\n<tr style=\"border-bottom:1px solid #333;\">\n<td style=\"padding:8px 4px;color:#e5c07b;\">Add a new feature for user preferences</td>\n<td><span style=\"background:#22c55e;color:#fff;padding:1px 6px;border-radius:3px;font-size:10px;\">feature</span></td>\n<td style=\"color:#61afef;\">06:27</td>\n</tr>\n<tr style=\"border-bottom:1px solid #333;\">\n<td style=\"padding:8px 4px;color:#e5c07b;\">Fix the authentication bug in login form</td>\n<td><span style=\"background:#f43f5e;color:#fff;padding:1px 6px;border-radius:3px;font-size:10px;\">bugfix</span></td>\n<td style=\"color:#61afef;\">06:24</td>\n</tr>\n<tr>\n<td style=\"padding:8px 4px;color:#e5c07b;\">Testing Emergent Flow System</td>\n<td><span style=\"background:#6b7280;color:#fff;padding:1px 6px;border-radius:3px;font-size:10px;\">ops</span></td>\n<td style=\"color:#61afef;\">06:00</td>\n</tr>\n</table>\n</div>\n\n<div style=\"background:#1e1e1e;border:1px solid #444;padding:12px;border-radius:6px;margin-top:16px;\">\n<p style=\"color:#7f848e;margin:0;font-size:13px;\"><strong style=\"color:#fff;\">Note:</strong> If these test flows are cluttering your view, you can archive or merge them. The emergent flow system is designed to be cleaned up over time as work coalesces.</p>\n</div>\n</div>",
"requestedAt": "2026-01-09T06:28:00.000Z",
"requestId": "5d1811db-9f6d-4862-ab4f-cea4d2a8ecb7",
"choices": [
{
"label": "Archive Test Flows",
"value": "Archive all the test flows that have the auto-created label",
"primary": true
},
{
"label": "Show Flow Code",
"value": "Show me the getOrCreateFlowForSession function implementation"
},
{
"label": "Disable Auto-Create",
"value": "How can I disable automatic flow creation?"
}
],
"turnTiming": {
"totalMs": 56183,
"ttfeMs": 51,
"thinkingMs": 56132,
"toolExecutionMs": 0,
"toolCallCount": 0,
"thinkingPct": 100,
"toolsPct": 0,
"ttfePct": 0
}
},
"createdBy": "claude",
"createdAt": "2026-01-09T06:28:57.438Z",
"updatedAt": "2026-01-09T06:29:55.276Z",
"requestId": "5d1811db-9f6d-4862-ab4f-cea4d2a8ecb7",
"scope": "vibetools",
"tags": [
"gvflows",
"emergent-flows"
],
"targetUser": "claude"
}