Completed
on 9 Jan 2026, 2:18 pm

Output

✅ gvDecision Schema - Approved

Version 1.0 - Complete Specification

Designed for long-term stability • Immutable decisions • Full traceability

📋 Schema Summary

Core InterfacegvDecision - 13 sections, ~40 fields
Categoriesdesignactiondeferred
Decision Types14 design + 12 action + 6 deferred = 32 types
Supporting TypesDecisionScope, Visibility, Confidence, Origin, ImpactArea
Computed Statuspending → 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
Version1.0
Approved Bystephanie
Approved At2026-01-09T04:13:44Z
StatusAPPROVED

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"
}
DashboardReportsKontasksFlowsDecisionsSessionsTelemetryLogs + Go