coaia-visualizer 1.6.2 โ 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +30 -1
- package/.dockerignore +0 -9
- package/COMPLETE_IMPLEMENTATION_REPORT.md +0 -215
- package/Dockerfile +0 -61
- package/Dockerfile.app +0 -50
- package/QUICK_START_MCP_TESTING.md +0 -236
- package/STC.md +0 -24
- package/STCGOAL.md +0 -0
- package/STCISSUE.md +0 -48
- package/STCKIN.md +0 -0
- package/STCMASTERY.md +0 -0
- package/STUDY_REPORT.md +0 -510
- package/direct-test.sh +0 -180
- package/docker-build-push.sh +0 -20
- package/docker-compose.test.yml +0 -69
- package/docker-entrypoint.sh +0 -27
- package/jgwill.coaia-visualizer-8--496dca71-d476-4ac9-ba9f-376add118dd8--260208.txt +0 -2612
- package/mcp/test_mcp/.gemini/settings.json +0 -18
- package/rispecs/README.md +0 -170
- package/rispecs/accountability-responsibility.rispec.md +0 -110
- package/rispecs/api-mcp-interface.spec.md +0 -287
- package/rispecs/app.spec.md +0 -364
- package/rispecs/chart-editing-workflow.spec.md +0 -297
- package/rispecs/chart-visualization-hierarchy.spec.md +0 -235
- package/rispecs/cli-mode.spec.md +0 -224
- package/rispecs/github-project-runtime-memory-integration.spec.md +0 -381
- package/rispecs/jsonl-parsing-data-types.spec.md +0 -243
- package/rispecs/narrative-beats-display.spec.md +0 -189
- package/rispecs/pde-integration.spec.md +0 -280
- package/rispecs/planning-integration.spec.md +0 -329
- package/rispecs/relation-graph-visualization.spec.md +0 -171
- package/rispecs/relation-to-mcp-structural-thinking.kin.md +0 -65
- package/rispecs/ui-component-library.spec.md +0 -258
- package/test-data/test-master.jsonl +0 -11
- package/test-results/.last-run.json +0 -4
- package/test-scripts/README.md +0 -325
- package/test-scripts/rich-jsonl-preservation.spec.ts +0 -118
- package/test-scripts/run-all-tests.sh +0 -38
- package/test-scripts/test-01-basic-operations.sh +0 -87
- package/test-scripts/test-02-telescope-creation.sh +0 -91
- package/test-scripts/test-03-navigation.sh +0 -87
- package/test-scripts/test-global-cli.spec.ts +0 -220
- package/test-scripts/verify-global-cli.sh +0 -87
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
# Narrative Beats Display
|
|
2
|
-
## RISE Specification for Narrative Beat Rendering and Multi-Universe Perspectives
|
|
3
|
-
|
|
4
|
-
**Component Purpose**: Render the story layer of structural tension work โ narrative beats that document creative acts, insights, and lessons across multiple archetypal universe perspectives.
|
|
5
|
-
|
|
6
|
-
**Source Files**: `components/narrative-beats.tsx`
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## ๐ฏ What This Component Enables Users to Create
|
|
11
|
-
|
|
12
|
-
- Visible narrative context for structural tension work
|
|
13
|
-
- Story documentation across three archetypal universes (engineer-world, ceremony-world, story-engine-world)
|
|
14
|
-
- Chronological beat sequences with act numbering and dramatic type classification
|
|
15
|
-
- Prose narrative passages with lessons learned
|
|
16
|
-
- Temporal metadata for understanding when narrative beats occurred
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## ๐ Structural Tension Dynamics
|
|
21
|
-
|
|
22
|
-
### Current Reality
|
|
23
|
-
Narrative beats exist as `narrative_beat` entity records in JSONL. They carry rich metadata (act, dramatic type, universes, prose, lessons) but are just JSON objects. Without rendering, the story of structural tension work remains invisible โ users see charts and actions but not the *meaning* of the work.
|
|
24
|
-
|
|
25
|
-
### Desired Result
|
|
26
|
-
Each narrative beat rendered as a richly structured card showing:
|
|
27
|
-
- Act sequence and dramatic type (header)
|
|
28
|
-
- Multi-universe perspective badges
|
|
29
|
-
- Description and narrative prose
|
|
30
|
-
- Lessons learned as discrete insight items
|
|
31
|
-
- Temporal context via timestamps
|
|
32
|
-
|
|
33
|
-
### Natural Resolution
|
|
34
|
-
The `NarrativeBeats` component reads metadata from `EntityRecord[]` and renders each beat as a visually distinct card within the chart detail view, making the story layer tangible alongside the structural tension elements.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## ๐ NarrativeBeats Component
|
|
39
|
-
|
|
40
|
-
### Props
|
|
41
|
-
```typescript
|
|
42
|
-
interface NarrativeBeatsProps {
|
|
43
|
-
beats: EntityRecord[] // Array of narrative_beat entities
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### EntityRecord Metadata Schema (for narrative beats)
|
|
48
|
-
```typescript
|
|
49
|
-
metadata: {
|
|
50
|
-
act: number // Act number in sequence (1, 2, 3...)
|
|
51
|
-
type_dramatic: string // "Crisis/Antagonist Force", "Turning Point", "Setup", etc.
|
|
52
|
-
universes: string[] // ["engineer-world", "ceremony-world", "story-engine-world"]
|
|
53
|
-
timestamp: string // ISO 8601 creation timestamp
|
|
54
|
-
narrative: {
|
|
55
|
-
description: string // Short description of the beat
|
|
56
|
-
prose: string // Full narrative passage
|
|
57
|
-
lessons: string[] // Array of lessons/insights
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Render Structure
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
66
|
-
โ ๐ญ Act 3 ยท Crisis/Antagonist Force ยท Beat #7 โ
|
|
67
|
-
โ 2024-03-15 14:30 โ
|
|
68
|
-
โ โ
|
|
69
|
-
โ ๐งญ Universes: [engineer-world] [ceremony-world] โ
|
|
70
|
-
โ โ
|
|
71
|
-
โ โจ The parsing algorithm encountered a hierarchy depth โ
|
|
72
|
-
โ that exceeded the expected 3-level nesting... โ
|
|
73
|
-
โ โ
|
|
74
|
-
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
75
|
-
โ โ "The tension between flat JSONL and deep hierarchy โ โ
|
|
76
|
-
โ โ became the very structural tension the tool was โ โ
|
|
77
|
-
โ โ designed to visualize โ a recursive mirror of โ โ
|
|
78
|
-
โ โ its own purpose." โ โ
|
|
79
|
-
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
80
|
-
โ โ
|
|
81
|
-
โ ๐ Lessons: โ
|
|
82
|
-
โ โข Recursive structures require iterative assembly โ
|
|
83
|
-
โ โข The tool's challenge mirrors the user's challenge โ
|
|
84
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Visual Elements
|
|
88
|
-
|
|
89
|
-
| Element | Lucide Icon | Display | Styling |
|
|
90
|
-
|:---|:---|:---|:---|
|
|
91
|
-
| **Act & Type** | `Drama` | "Act {N} ยท {type_dramatic} ยท Beat #{index}" | Header text, muted timestamp |
|
|
92
|
-
| **Universes** | `Compass` | Badge per universe | Badge components in row |
|
|
93
|
-
| **Description** | `Sparkles` | Short description text | Normal text |
|
|
94
|
-
| **Prose** | โ | Quoted narrative passage | Highlighted/quoted box, muted color |
|
|
95
|
-
| **Timestamp** | `Clock` | ISO timestamp formatted | Muted text |
|
|
96
|
-
| **Lessons** | *(no icon)* | Bulleted list | Muted boxes per lesson item |
|
|
97
|
-
|
|
98
|
-
### Empty State
|
|
99
|
-
When `beats.length === 0`, renders a centered muted text: "No narrative beats documented yet"
|
|
100
|
-
|
|
101
|
-
### Card Styling
|
|
102
|
-
- Left border accent using `chart-3` color theme
|
|
103
|
-
- Card component with header and content sections
|
|
104
|
-
- Responsive layout within chart detail view
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## ๐ Integration Points
|
|
109
|
-
|
|
110
|
-
### Within ChartDetailEditable
|
|
111
|
-
```
|
|
112
|
-
ChartDetailEditable
|
|
113
|
-
โโโ if chart.narrativeBeats.length > 0:
|
|
114
|
-
<NarrativeBeats beats={chart.narrativeBeats} />
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Narrative beats section appears between the Structural Tension section (desired outcome + current reality) and the Actions/Relations tabs.
|
|
118
|
-
|
|
119
|
-
### Within ChartDetail (Read-Only)
|
|
120
|
-
Same placement โ narrative beats displayed as read-only cards.
|
|
121
|
-
|
|
122
|
-
### Data Source
|
|
123
|
-
Narrative beats are populated during `organizeData()` Pass 3, where entities with `entityType === "narrative_beat"` are collected into their chart's `narrativeBeats` array based on chart ID prefix matching.
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## ๐ Multi-Universe Perspectives
|
|
128
|
-
|
|
129
|
-
The Three Archetypal Universes represent different lenses through which the same structural tension work is understood:
|
|
130
|
-
|
|
131
|
-
| Universe | Perspective | What It Illuminates |
|
|
132
|
-
|:---|:---|:---|
|
|
133
|
-
| **engineer-world** | Technical precision | Algorithms, data structures, system behavior |
|
|
134
|
-
| **ceremony-world** | Relational meaning | Kinship, accountability, ceremonial intent |
|
|
135
|
-
| **story-engine-world** | Narrative arc | Drama, character, plot progression |
|
|
136
|
-
|
|
137
|
-
A single narrative beat may exist in one, two, or all three universes simultaneously. The universe badges communicate which perspectives apply to each beat.
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## ๐ Creative Advancement Scenario
|
|
142
|
-
|
|
143
|
-
### Scenario: Reading the Story of a Sprint
|
|
144
|
-
**User Intent**: Understand the narrative arc of structural tension work across a multi-day session
|
|
145
|
-
**Current Structural Reality**: Chart has 5 completed actions and 12 narrative beats recorded by an agent
|
|
146
|
-
|
|
147
|
-
**Natural Progression**:
|
|
148
|
-
1. User selects chart from hierarchy view
|
|
149
|
-
2. Scrolls to narrative beats section
|
|
150
|
-
3. Sees beats ordered by act number with dramatic types
|
|
151
|
-
4. Act 1 beats: "Setup" type โ initial structural tension established
|
|
152
|
-
5. Act 2 beats: "Turning Point" โ key insight changes approach
|
|
153
|
-
6. Act 3 beats: "Crisis/Antagonist Force" โ complexity challenge encountered
|
|
154
|
-
7. Act 4 beats: "Resolution" โ structural tension resolved through creation
|
|
155
|
-
8. Each beat shows universe badges indicating which perspectives apply
|
|
156
|
-
9. Prose passages provide the full narrative of each moment
|
|
157
|
-
10. Lessons capture the transferable wisdom from each beat
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## โ
Quality Criteria
|
|
162
|
-
|
|
163
|
-
โ
**Narrative Visibility**
|
|
164
|
-
- Every narrative beat is rendered with its full metadata
|
|
165
|
-
- Prose is visually distinct (quoted/highlighted) from description
|
|
166
|
-
- Lessons are discrete, scannable items
|
|
167
|
-
|
|
168
|
-
โ
**Universe Clarity**
|
|
169
|
-
- Universe badges clearly labeled
|
|
170
|
-
- Multiple universes displayed in a row without confusion
|
|
171
|
-
- Missing universe data handled gracefully
|
|
172
|
-
|
|
173
|
-
โ
**Temporal Context**
|
|
174
|
-
- Timestamps displayed in human-readable format
|
|
175
|
-
- Act numbering provides sequence context
|
|
176
|
-
- Dramatic type provides narrative arc context
|
|
177
|
-
|
|
178
|
-
โ
**Graceful Handling**
|
|
179
|
-
- Empty beats array shows meaningful empty state message
|
|
180
|
-
- Missing metadata fields don't crash the component
|
|
181
|
-
- Component is purely presentational (no side effects)
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## ๐ Related Components
|
|
186
|
-
|
|
187
|
-
- [chart-visualization-hierarchy.spec.md](./chart-visualization-hierarchy.spec.md) โ ChartDetail hosts NarrativeBeats
|
|
188
|
-
- [jsonl-parsing-data-types.spec.md](./jsonl-parsing-data-types.spec.md) โ EntityRecord type with narrative metadata
|
|
189
|
-
- [app.spec.md](./app.spec.md) โ narrative beats as one of the core display layers
|
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
# ๐ฎ Future Integration: PDE-Sourced Chart Visualization
|
|
2
|
-
|
|
3
|
-
> How coaia-visualizer COULD surface the ceremonial origin and Four Directions structure of charts born from Prompt Decomposition Engine transformations.
|
|
4
|
-
|
|
5
|
-
**Status**: ๐ฎ FUTURE / ASPIRATIONAL
|
|
6
|
-
**Framework**: RISE
|
|
7
|
-
**Cross-references**:
|
|
8
|
-
- [app.spec.md](./app.spec.md) โ current visualizer architecture
|
|
9
|
-
- [chart-visualization-hierarchy.spec.md](./chart-visualization-hierarchy.spec.md) โ current chart rendering
|
|
10
|
-
- [`coaia-pde/rispecs/pde-to-stc-transformation.rispec.md`](../../coaia-pde/rispecs/pde-to-stc-transformation.rispec.md) โ PDE metadata schema
|
|
11
|
-
- [`coaia-pde/KINSHIP.md`](../../coaia-pde/KINSHIP.md) โ PDE lineage and identity
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## ๐ Structural Tension
|
|
16
|
-
|
|
17
|
-
### Current Reality
|
|
18
|
-
|
|
19
|
-
coaia-visualizer treats all JSONL charts identically. A chart produced by coaia-pde (from a PDE DecompositionResult with Four Directions metadata, implicit intents, confidence scores, and decomposition provenance) looks exactly the same as a hand-authored coaia-narrative chart. The `.coaia/pde/<UUID>.jsonl` files contain a `pde_session` header line and entities with `metadata.fourDirections`, `metadata.implicit`, `metadata.confidence`, and `metadata.direction` fields โ none of which the visualizer reads or renders.
|
|
20
|
-
|
|
21
|
-
Specifically:
|
|
22
|
-
- PDE sessions start with `{ "type": "pde_session", ... }` โ the visualizer ignores this entirely
|
|
23
|
-
- Action steps carry `metadata.direction` (EAST/SOUTH/WEST/NORTH) โ rendered as flat list
|
|
24
|
-
- Some actions carry `metadata.implicit: true` โ invisible to the user
|
|
25
|
-
- Entity metadata contains `metadata.fourDirections` with `north_vision`, `east_intention`, `south_emotion`, `west_introspection` โ not displayed
|
|
26
|
-
- No link back to the `.pde/` decomposition that birthed the chart
|
|
27
|
-
|
|
28
|
-
### Desired Result
|
|
29
|
-
|
|
30
|
-
Practitioners see the **ceremony origin** of their structural tension. When a chart was born from PDE decomposition, the visualizer surfaces:
|
|
31
|
-
- The Four Directions as a navigable Medicine Wheel layout with directional color coding
|
|
32
|
-
- Which `.pde/` decomposition sourced this chart, with a facet count
|
|
33
|
-
- Implicit intents flagged as visual badges so nothing is silently dropped
|
|
34
|
-
- Action steps grouped by their ceremonial direction instead of a flat list
|
|
35
|
-
- A provenance breadcrumb trail: Original Prompt โ PDE Decomposition โ STC Chart
|
|
36
|
-
|
|
37
|
-
This creates a **living ceremonial map** โ not just structural tension, but structural tension with its vision-lineage visible.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## ๐จ Design Approach
|
|
42
|
-
|
|
43
|
-
### 1. Four Directions Visualization
|
|
44
|
-
|
|
45
|
-
**Concept**: Replace or augment the flat action list with a quadrant layout when `metadata.fourDirections` is present on the chart entity.
|
|
46
|
-
|
|
47
|
-
**Medicine Wheel Color Scheme**:
|
|
48
|
-
|
|
49
|
-
| Direction | Color | Icon | Role in Chart |
|
|
50
|
-
|-----------|-------|------|---------------|
|
|
51
|
-
| ๐
EAST | `amber-400` / gold | Sunrise/Eye | Desired Outcome โ what wants to emerge |
|
|
52
|
-
| ๐ฅ SOUTH | `red-500` / crimson | Flame/Shield | Current Reality โ what must be understood |
|
|
53
|
-
| ๐ WEST | `blue-500` / deep blue | Wave/Mirror | Structural Tension โ the generative gap |
|
|
54
|
-
| โ๏ธ NORTH | `slate-200` / white | Snowflake/Star | Action Steps โ strategic secondary choices |
|
|
55
|
-
|
|
56
|
-
**Layout Options**:
|
|
57
|
-
|
|
58
|
-
A. **Quadrant View** (primary): Four-panel grid within ChartDetailEditable. Each quadrant holds its direction's content. Center shows the chart title and overall progress.
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโ
|
|
62
|
-
โ ๐
EAST โ โ๏ธ NORTH โ
|
|
63
|
-
โ Vision โ Wisdom โ
|
|
64
|
-
โ (desired โ (actions / โ
|
|
65
|
-
โ outcome) โ strategic) โ
|
|
66
|
-
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค
|
|
67
|
-
โ ๐ฅ SOUTH โ ๐ WEST โ
|
|
68
|
-
โ Analysis โ Experience โ
|
|
69
|
-
โ (current โ (tension / โ
|
|
70
|
-
โ reality) โ practice) โ
|
|
71
|
-
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโ
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
B. **Direction Badges** (minimal): Each action step gets a colored direction badge beside it in the existing flat list. Lower lift, still informative.
|
|
75
|
-
|
|
76
|
-
**Implementation Approach**:
|
|
77
|
-
- Detect PDE origin via `pde_session` line or `metadata.fourDirections` on chart entity
|
|
78
|
-
- New component: `FourDirectionsView` wrapping four `DirectionPanel` sub-components
|
|
79
|
-
- `DirectionPanel` renders entities filtered by `metadata.direction`
|
|
80
|
-
- Falls back to standard flat layout when no direction metadata exists
|
|
81
|
-
- Transitions smoothly between quadrant and flat via toggle button
|
|
82
|
-
|
|
83
|
-
### 2. PDE Source Linking
|
|
84
|
-
|
|
85
|
-
**Concept**: When a chart originated from a PDE decomposition, show a provenance badge in the chart header.
|
|
86
|
-
|
|
87
|
-
**Badge Content**:
|
|
88
|
-
- ๐ฌ PDE source icon
|
|
89
|
-
- Decomposition ID (truncated UUID)
|
|
90
|
-
- Facet count (e.g., "4 facets โ 2 implicit")
|
|
91
|
-
- Original prompt snippet (first 80 chars)
|
|
92
|
-
- Link/tooltip showing the `.pde/` file path
|
|
93
|
-
|
|
94
|
-
**Data Source**: The `pde_session` metadata line contains:
|
|
95
|
-
```json
|
|
96
|
-
{
|
|
97
|
-
"type": "pde_session",
|
|
98
|
-
"id": "<UUID>",
|
|
99
|
-
"pdeId": "<decomposition-uuid>",
|
|
100
|
-
"createdAt": "ISO-8601",
|
|
101
|
-
"status": "active"
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**Implementation Approach**:
|
|
106
|
-
- Extend `parseJSONL()` to recognize `pde_session` records and attach to chart metadata
|
|
107
|
-
- New component: `PdeSourceBadge` displayed in `ChartDetailEditable` header
|
|
108
|
-
- Optional: clicking badge opens a popover with full decomposition metadata
|
|
109
|
-
|
|
110
|
-
### 3. Implicit Intent Indicators
|
|
111
|
-
|
|
112
|
-
**Concept**: PDE extracts implicit intents that weren't explicitly stated in the original prompt. These become action steps with `metadata.implicit: true` and sometimes lower confidence. Surface these as visual warnings so practitioners know what was inferred vs. stated.
|
|
113
|
-
|
|
114
|
-
**Visual Treatment**:
|
|
115
|
-
- Implicit actions get a `โก Inferred` badge in `amber-500`
|
|
116
|
-
- Tooltip explains: "This intent was not explicitly stated but was detected by PDE decomposition"
|
|
117
|
-
- Optional filter toggle: "Show/Hide inferred intents"
|
|
118
|
-
- Confidence score shown as a thin progress bar beneath the action text
|
|
119
|
-
|
|
120
|
-
**Implementation Approach**:
|
|
121
|
-
- Read `metadata.implicit` boolean on action_step entities
|
|
122
|
-
- Read `metadata.confidence` number (0โ1) on action_step entities
|
|
123
|
-
- New sub-component: `ImplicitBadge` โ conditional render within action item
|
|
124
|
-
- New sub-component: `ConfidenceBar` โ thin colored bar (green โฅ0.8, amber โฅ0.5, red <0.5)
|
|
125
|
-
|
|
126
|
-
### 4. Direction-Based Action Grouping
|
|
127
|
-
|
|
128
|
-
**Concept**: Instead of a flat action list, group actions by their Four Direction when `metadata.direction` is present.
|
|
129
|
-
|
|
130
|
-
**Grouped Layout**:
|
|
131
|
-
```
|
|
132
|
-
โ๏ธ NORTH โ Strategic Actions
|
|
133
|
-
โโ โ Implement authentication module
|
|
134
|
-
โโ โ Deploy staging environment
|
|
135
|
-
โโ โ Configure CI pipeline
|
|
136
|
-
|
|
137
|
-
๐
EAST โ Vision Actions
|
|
138
|
-
โโ โ Draft architecture decision record
|
|
139
|
-
|
|
140
|
-
๐ฅ SOUTH โ Analysis Actions
|
|
141
|
-
โโ โ Audit existing dependencies
|
|
142
|
-
โโ โก Review security assumptions (inferred)
|
|
143
|
-
|
|
144
|
-
๐ WEST โ Experiential Actions
|
|
145
|
-
โโ โ Prototype user flow
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**Implementation Approach**:
|
|
149
|
-
- New utility: `groupActionsByDirection(actions: EntityRecord[])` โ `Map<string, EntityRecord[]>`
|
|
150
|
-
- New component: `DirectionActionGroup` renders a collapsible section per direction
|
|
151
|
-
- Direction header shows icon, color, direction name, and count
|
|
152
|
-
- Actions within each group maintain existing edit/complete/telescope capabilities
|
|
153
|
-
- Ungrouped actions (no direction metadata) render in an "Uncategorized" section
|
|
154
|
-
|
|
155
|
-
### 5. PDE-to-Chart Provenance Trail
|
|
156
|
-
|
|
157
|
-
**Concept**: Visual breadcrumb showing the transformation path from original prompt to the current chart.
|
|
158
|
-
|
|
159
|
-
**Breadcrumb Layout**:
|
|
160
|
-
```
|
|
161
|
-
๐ฌ Original Prompt โ ๐ฌ PDE Decomposition (4 facets) โ ๐ STC Chart (chart_7)
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
**Each Segment**:
|
|
165
|
-
- **Original Prompt**: Truncated prompt text, click to expand full text in dialog
|
|
166
|
-
- **PDE Decomposition**: Decomposition ID, facet count, link to `.pde/` markdown export
|
|
167
|
-
- **STC Chart**: Current chart ID with creation timestamp
|
|
168
|
-
|
|
169
|
-
**Implementation Approach**:
|
|
170
|
-
- New component: `ProvenanceTrail` rendered above chart header when PDE metadata exists
|
|
171
|
-
- Data assembled from `pde_session` record + chart entity metadata
|
|
172
|
-
- Each breadcrumb segment is a clickable element (expand or navigate)
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## ๐ Entity Metadata Requirements
|
|
177
|
-
|
|
178
|
-
For this integration to work, coaia-pde JSONL must include these metadata fields (most already exist per the transformation rispec):
|
|
179
|
-
|
|
180
|
-
### On `pde_session` Record (Line 1)
|
|
181
|
-
```typescript
|
|
182
|
-
{
|
|
183
|
-
type: "pde_session"
|
|
184
|
-
id: string // Session UUID
|
|
185
|
-
pdeId: string // Source decomposition UUID
|
|
186
|
-
originalPrompt?: string // The prompt that was decomposed
|
|
187
|
-
facetCount?: number // Number of PDE facets
|
|
188
|
-
implicitCount?: number // Number of implicit intents detected
|
|
189
|
-
createdAt: string // ISO-8601
|
|
190
|
-
status: "active" | "completed"
|
|
191
|
-
}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### On `structural_tension_chart` Entity
|
|
195
|
-
```typescript
|
|
196
|
-
metadata: {
|
|
197
|
-
fourDirections?: {
|
|
198
|
-
north_vision: string
|
|
199
|
-
east_intention: string
|
|
200
|
-
south_emotion: string
|
|
201
|
-
west_introspection: string
|
|
202
|
-
}
|
|
203
|
-
pdeSource?: string // Decomposition UUID
|
|
204
|
-
phase?: string // Current phase
|
|
205
|
-
}
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### On `action_step` Entity
|
|
209
|
-
```typescript
|
|
210
|
-
metadata: {
|
|
211
|
-
direction?: "EAST" | "SOUTH" | "WEST" | "NORTH"
|
|
212
|
-
implicit?: boolean
|
|
213
|
-
confidence?: number // 0โ1
|
|
214
|
-
dependency?: string // Name of dependent action
|
|
215
|
-
completionStatus?: boolean
|
|
216
|
-
order?: number
|
|
217
|
-
}
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## ๐งฉ UI Components Needed
|
|
223
|
-
|
|
224
|
-
| Component | Purpose | Parent |
|
|
225
|
-
|-----------|---------|--------|
|
|
226
|
-
| `FourDirectionsView` | Quadrant layout for directional chart display | `ChartDetailEditable` |
|
|
227
|
-
| `DirectionPanel` | Single direction content panel with color/icon | `FourDirectionsView` |
|
|
228
|
-
| `PdeSourceBadge` | Provenance badge in chart header | `ChartDetailEditable` |
|
|
229
|
-
| `ImplicitBadge` | "โก Inferred" indicator on action steps | Action item row |
|
|
230
|
-
| `ConfidenceBar` | Thin colored confidence indicator | Action item row |
|
|
231
|
-
| `DirectionActionGroup` | Collapsible direction-grouped action section | Actions tab |
|
|
232
|
-
| `ProvenanceTrail` | Breadcrumb trail: Prompt โ PDE โ Chart | Above chart header |
|
|
233
|
-
| `PdeDetailPopover` | Expanded PDE decomposition metadata | `PdeSourceBadge` click |
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
## ๐ฏ What This Enables
|
|
238
|
-
|
|
239
|
-
### For Practitioners
|
|
240
|
-
- **See the ceremony**: A chart born from PDE decomposition visually carries its Medicine Wheel origin โ not as decoration, but as navigational structure
|
|
241
|
-
- **Trust the inference**: Implicit intents are visible, not hidden. Practitioners can validate or dismiss PDE's inferences with full awareness
|
|
242
|
-
- **Navigate by direction**: Instead of a flat action list, practitioners move through EAST (vision) โ SOUTH (analysis) โ WEST (experience) โ NORTH (wisdom) โ the natural creative cycle
|
|
243
|
-
|
|
244
|
-
### For the Ecosystem
|
|
245
|
-
- **coaia-pde gains a face**: Its JSONL output becomes visually distinct and meaningful in the visualizer
|
|
246
|
-
- **Provenance creates trust**: Seeing the transformation path (prompt โ decomposition โ chart) builds confidence in the automated pipeline
|
|
247
|
-
- **Four Directions become tangible**: The Medicine Wheel framework moves from metadata convention to lived visual experience
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
## โ
Quality Criteria
|
|
252
|
-
|
|
253
|
-
โ
**Ceremonial Integrity**
|
|
254
|
-
- Four Directions use authentic Medicine Wheel colors and ordering (East โ South โ West โ North)
|
|
255
|
-
- Direction layout is a navigational tool, not decorative โ each quadrant is interactive
|
|
256
|
-
|
|
257
|
-
โ
**Graceful Degradation**
|
|
258
|
-
- Charts without PDE metadata render exactly as they do today โ zero regression
|
|
259
|
-
- Missing fields (no `fourDirections`, no `implicit`) silently degrade to standard view
|
|
260
|
-
- PDE components never render on non-PDE charts
|
|
261
|
-
|
|
262
|
-
โ
**Structural Tension Preserved**
|
|
263
|
-
- Desired outcome โ current reality tension remains the primary visual axis
|
|
264
|
-
- Four Directions enhance but do not replace the core STC display
|
|
265
|
-
- Creative orientation language maintained throughout all new components
|
|
266
|
-
|
|
267
|
-
โ
**Data Fidelity**
|
|
268
|
-
- No new JSONL fields invented โ only existing coaia-pde metadata consumed
|
|
269
|
-
- Provenance trail reads from data already in the JSONL (pde_session + entity metadata)
|
|
270
|
-
- Round-trip: editing a PDE chart and exporting preserves all PDE metadata
|
|
271
|
-
|
|
272
|
-
---
|
|
273
|
-
|
|
274
|
-
## ๐ Cross-References
|
|
275
|
-
|
|
276
|
-
- [chart-visualization-hierarchy.spec.md](./chart-visualization-hierarchy.spec.md) โ ChartDetailEditable extension point
|
|
277
|
-
- [jsonl-parsing-data-types.spec.md](./jsonl-parsing-data-types.spec.md) โ parseJSONL extension for `pde_session`
|
|
278
|
-
- [ui-component-library.spec.md](./ui-component-library.spec.md) โ color and icon patterns
|
|
279
|
-
- [`coaia-pde/rispecs/pde-to-stc-transformation.rispec.md`](../../coaia-pde/rispecs/pde-to-stc-transformation.rispec.md) โ source metadata schema
|
|
280
|
-
- [planning-integration.spec.md](./planning-integration.spec.md) โ sibling future spec
|