← Back to Kontasks
gvDecision Schema Approved
Approval confirmation for the gvDecision complete specification v1.0
Output
✅ gvDecision Schema - Approved
Version 1.0 - Complete Specification
Designed for long-term stability • Immutable decisions • Full traceability
📋 Schema Summary
| Core Interface | gvDecision - 13 sections, ~40 fields |
| Categories | design • action • deferred |
| Decision Types | 14 design + 12 action + 6 deferred = 32 types |
| Supporting Types | DecisionScope, Visibility, Confidence, Origin, ImpactArea |
| Computed Status | pending → reviewed → approved → documented → superseded |
🎯 Key Design Principles
Immutable
Decisions never change - pivots create new with supersedes links
Complete
Captures chosen option, alternatives, rationale, and impact
Traceable
Clear lineage via turn → session → flow, plus decision DAG
Extensible
metadata field allows future additions without schema changes
📁 Storage Strategy
gv/data/ ├── gvdecisions.jsonl # All decisions (append-only) ├── flows/ │ └── {flowId}.json # FK to decisions └── sessions/ └── {sessionId}/ └── events.jsonl # Turn events
🔗 Integration Points
- gvFlow - decisionSummary with counts by category
- gvTurn - decisionCount and decisionIds array
- kontask - deferred.kontaskId links decisions to user prompts
- ADR Export - documentation field tracks generated docs
📝 Approval Record
| Document | /gv/docs/gvDecisionSchema.md |
| Version | 1.0 |
| Approved By | stephanie |
| Approved At | 2026-01-09T04:13:44Z |
| Status | APPROVED |
Next Steps
The schema is now locked as v1.0. Future changes will increment the version number and include migration logic. Implementation can proceed with this as the authoritative specification.
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
gvshellgvhubdecisionsschemaapproved
Created
9 Jan 2026, 2:17 pm
Updated
9 Jan 2026, 2:18 pm
Timing
⏱️ 50.0s
0 tools
● TTFE 0%
● Thinking 100%
● Tools 0%
Created By
claude
Raw Data
{
"id": "32458977-4fe1-429d-a542-9c7474fb16f6",
"type": "general",
"status": "completed",
"title": "gvDecision Schema Approved",
"description": "Approval confirmation for the gvDecision complete specification v1.0",
"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;\">✅ gvDecision Schema - Approved</h2>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<p style=\"color:#98c379;font-size:16px;margin:0 0 8px 0;font-weight:bold;\">Version 1.0 - Complete Specification</p>\n<p style=\"color:#7f848e;margin:0;\">Designed for long-term stability • Immutable decisions • Full traceability</p>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#61afef;margin:20px 0 12px 0;\">📋 Schema Summary</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<table style=\"width:100%;border-collapse:collapse;color:#e0e0e0;\">\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Core Interface</td><td style=\"padding:6px 0;\"><span style=\"color:#e5c07b;\">gvDecision</span> - 13 sections, ~40 fields</td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Categories</td><td style=\"padding:6px 0;\"><span style=\"color:#98c379;\">design</span> • <span style=\"color:#61afef;\">action</span> • <span style=\"color:#c678dd;\">deferred</span></td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Decision Types</td><td style=\"padding:6px 0;\">14 design + 12 action + 6 deferred = <span style=\"color:#e5c07b;\">32 types</span></td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Supporting Types</td><td style=\"padding:6px 0;\">DecisionScope, Visibility, Confidence, Origin, ImpactArea</td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Computed Status</td><td style=\"padding:6px 0;\">pending → reviewed → approved → documented → superseded</td></tr>\n</table>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#61afef;margin:20px 0 12px 0;\">🎯 Key Design Principles</h3>\n\n<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;\">\n<div style=\"background:#2d2d2d;padding:12px;border-radius:6px;border-left:3px solid #98c379;\">\n<div style=\"color:#98c379;font-weight:bold;margin-bottom:4px;\">Immutable</div>\n<div style=\"color:#7f848e;font-size:12px;\">Decisions never change - pivots create new with supersedes links</div>\n</div>\n<div style=\"background:#2d2d2d;padding:12px;border-radius:6px;border-left:3px solid #61afef;\">\n<div style=\"color:#61afef;font-weight:bold;margin-bottom:4px;\">Complete</div>\n<div style=\"color:#7f848e;font-size:12px;\">Captures chosen option, alternatives, rationale, and impact</div>\n</div>\n<div style=\"background:#2d2d2d;padding:12px;border-radius:6px;border-left:3px solid #c678dd;\">\n<div style=\"color:#c678dd;font-weight:bold;margin-bottom:4px;\">Traceable</div>\n<div style=\"color:#7f848e;font-size:12px;\">Clear lineage via turn → session → flow, plus decision DAG</div>\n</div>\n<div style=\"background:#2d2d2d;padding:12px;border-radius:6px;border-left:3px solid #e5c07b;\">\n<div style=\"color:#e5c07b;font-weight:bold;margin-bottom:4px;\">Extensible</div>\n<div style=\"color:#7f848e;font-size:12px;\">metadata field allows future additions without schema changes</div>\n</div>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#61afef;margin:20px 0 12px 0;\">📁 Storage Strategy</h3>\n\n<pre style=\"background:#2d2d2d;padding:16px;border-radius:6px;overflow-x:auto;line-height:1.6;color:#e0e0e0;margin-bottom:16px;\">\n<span style=\"color:#56b6c2;font-weight:bold;\">gv/data/</span>\n├── <span style=\"color:#e5c07b;\">gvdecisions.jsonl</span> <span style=\"color:#7f848e;\"># All decisions (append-only)</span>\n├── <span style=\"color:#98c379;font-weight:bold;\">flows/</span>\n│ └── {flowId}.json <span style=\"color:#7f848e;\"># FK to decisions</span>\n└── <span style=\"color:#98c379;font-weight:bold;\">sessions/</span>\n └── {sessionId}/\n └── events.jsonl <span style=\"color:#7f848e;\"># Turn events</span>\n</pre>\n\n<h3 style=\"font-family:sans-serif;color:#61afef;margin:20px 0 12px 0;\">🔗 Integration Points</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<ul style=\"margin:0;padding-left:20px;color:#e0e0e0;line-height:1.8;\">\n<li><span style=\"color:#98c379;\">gvFlow</span> - decisionSummary with counts by category</li>\n<li><span style=\"color:#98c379;\">gvTurn</span> - decisionCount and decisionIds array</li>\n<li><span style=\"color:#98c379;\">kontask</span> - deferred.kontaskId links decisions to user prompts</li>\n<li><span style=\"color:#98c379;\">ADR Export</span> - documentation field tracks generated docs</li>\n</ul>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#61afef;margin:20px 0 12px 0;\">📝 Approval Record</h3>\n\n<div style=\"background:linear-gradient(135deg,#22c55e22,#16a34a11);border:1px solid #22c55e;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<table style=\"width:100%;border-collapse:collapse;color:#e0e0e0;\">\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;width:120px;\">Document</td><td style=\"padding:6px 0;\"><code style=\"background:#2d2d2d;padding:2px 6px;border-radius:3px;\">/gv/docs/gvDecisionSchema.md</code></td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Version</td><td style=\"padding:6px 0;\">1.0</td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Approved By</td><td style=\"padding:6px 0;\">stephanie</td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Approved At</td><td style=\"padding:6px 0;\">2026-01-09T04:13:44Z</td></tr>\n<tr><td style=\"padding:6px 12px 6px 0;color:#7f848e;\">Status</td><td style=\"padding:6px 0;\"><span style=\"background:#22c55e;color:#fff;padding:2px 8px;border-radius:4px;font-weight:bold;font-size:12px;\">APPROVED</span></td></tr>\n</table>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;border-left:3px solid #61afef;\">\n<p style=\"color:#61afef;font-weight:bold;margin:0 0 8px 0;\">Next Steps</p>\n<p style=\"color:#e0e0e0;margin:0;line-height:1.6;\">The schema is now locked as v1.0. Future changes will increment the version number and include migration logic. Implementation can proceed with this as the authoritative specification.</p>\n</div>\n</div>",
"requestedAt": "2026-01-09T04:13:44Z",
"requestId": "f62d4d3b-ef14-40f5-9a03-916948d66189",
"choices": [
{
"label": "Implement gvDecision",
"value": "Start implementing the gvDecision schema in Go for gvShell",
"primary": true
},
{
"label": "Update gvFlow integration",
"value": "Update gvFlowSchema.md to add the decisionSummary and turn integration fields"
},
{
"label": "Add to gvBUILD.md",
"value": "Add gvDecision implementation to the gvBUILD.md roadmap"
}
],
"turnTiming": {
"totalMs": 49985,
"ttfeMs": 71,
"thinkingMs": 49913,
"toolExecutionMs": 0,
"toolCallCount": 0,
"thinkingPct": 100,
"toolsPct": 0,
"ttfePct": 0
}
},
"createdBy": "claude",
"createdAt": "2026-01-09T04:17:58.576Z",
"updatedAt": "2026-01-09T04:18:02.395Z",
"requestId": "f62d4d3b-ef14-40f5-9a03-916948d66189",
"scope": "vibetools",
"tags": [
"gvshell",
"gvhub",
"decisions",
"schema",
"approved"
],
"targetUser": "claude"
}