@boshu2/vibe-check 1.4.0 → 1.6.0
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/.agents/bundles/insight-mining-dashboard-research-2025-11-30.md +400 -0
- package/.agents/bundles/storage-enhancement-research-2025-11-30.md +292 -0
- package/.agents/bundles/timeline-feature-research-complete-2025-11-30.md +301 -0
- package/.agents/plans/insight-dashboard-plan-2025-11-30.md +1130 -0
- package/.agents/plans/json-storage-enhancement-plan.md +717 -0
- package/.agents/plans/storage-hardening-and-cache-plan.md +592 -0
- package/.agents/plans/test-coverage-gaps-plan.md +1117 -0
- package/.agents/plans/timeline-feature-plan.md +193 -0
- package/.agents/plans/vibe_timeline_research_findings.md +553 -0
- package/.claude/settings.local.json +1 -0
- package/.vibe-check/.gitignore +6 -0
- package/CHANGELOG.md +46 -0
- package/CLAUDE.md +24 -0
- package/CONTRIBUTING.md +227 -0
- package/README.md +200 -143
- package/claude-progress.json +200 -12
- package/claude-progress.txt +310 -0
- package/dashboard/app.js +75 -2
- package/dashboard/dashboard-data.json +653 -0
- package/dashboard/index.html +13 -0
- package/dashboard/styles.css +61 -0
- package/dist/analysis/cross-session-analysis.d.ts +68 -0
- package/dist/analysis/cross-session-analysis.d.ts.map +1 -0
- package/dist/analysis/cross-session-analysis.js +174 -0
- package/dist/analysis/cross-session-analysis.js.map +1 -0
- package/dist/analysis/index.d.ts +2 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +12 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts +2 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +105 -2
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/cache.d.ts +6 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +168 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/dashboard.d.ts +8 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +109 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +8 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +140 -31
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/timeline.d.ts +14 -0
- package/dist/commands/timeline.d.ts.map +1 -0
- package/dist/commands/timeline.js +462 -0
- package/dist/commands/timeline.js.map +1 -0
- package/dist/gamification/badges.d.ts +29 -0
- package/dist/gamification/badges.d.ts.map +1 -0
- package/dist/gamification/badges.js +114 -0
- package/dist/gamification/badges.js.map +1 -0
- package/dist/gamification/challenges.d.ts +42 -0
- package/dist/gamification/challenges.d.ts.map +1 -0
- package/dist/gamification/challenges.js +184 -0
- package/dist/gamification/challenges.js.map +1 -0
- package/dist/gamification/hall-of-fame.d.ts +17 -0
- package/dist/gamification/hall-of-fame.d.ts.map +1 -0
- package/dist/gamification/hall-of-fame.js +64 -0
- package/dist/gamification/hall-of-fame.js.map +1 -0
- package/dist/gamification/leaderboards.d.ts +49 -0
- package/dist/gamification/leaderboards.d.ts.map +1 -0
- package/dist/gamification/leaderboards.js +179 -0
- package/dist/gamification/leaderboards.js.map +1 -0
- package/dist/gamification/share.d.ts +29 -0
- package/dist/gamification/share.d.ts.map +1 -0
- package/dist/gamification/share.js +57 -0
- package/dist/gamification/share.js.map +1 -0
- package/dist/gamification/stats.d.ts +34 -0
- package/dist/gamification/stats.d.ts.map +1 -0
- package/dist/gamification/stats.js +91 -0
- package/dist/gamification/stats.js.map +1 -0
- package/dist/gamification/streaks.d.ts +9 -1
- package/dist/gamification/streaks.d.ts.map +1 -1
- package/dist/gamification/streaks.js +37 -4
- package/dist/gamification/streaks.js.map +1 -1
- package/dist/gamification/types.d.ts +35 -0
- package/dist/gamification/types.d.ts.map +1 -1
- package/dist/gamification/types.js +11 -3
- package/dist/gamification/types.js.map +1 -1
- package/dist/gamification/xp.d.ts +6 -2
- package/dist/gamification/xp.d.ts.map +1 -1
- package/dist/gamification/xp.js +27 -5
- package/dist/gamification/xp.js.map +1 -1
- package/dist/git.d.ts +24 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +94 -0
- package/dist/git.js.map +1 -1
- package/dist/insights/generators.d.ts +44 -0
- package/dist/insights/generators.d.ts.map +1 -0
- package/dist/insights/generators.js +289 -0
- package/dist/insights/generators.js.map +1 -0
- package/dist/insights/index.d.ts +16 -0
- package/dist/insights/index.d.ts.map +1 -0
- package/dist/insights/index.js +171 -0
- package/dist/insights/index.js.map +1 -0
- package/dist/insights/types.d.ts +93 -0
- package/dist/insights/types.d.ts.map +1 -0
- package/dist/insights/types.js +6 -0
- package/dist/insights/types.js.map +1 -0
- package/dist/output/terminal.d.ts.map +1 -1
- package/dist/output/terminal.js +39 -0
- package/dist/output/terminal.js.map +1 -1
- package/dist/output/timeline-html.d.ts +6 -0
- package/dist/output/timeline-html.d.ts.map +1 -0
- package/dist/output/timeline-html.js +389 -0
- package/dist/output/timeline-html.js.map +1 -0
- package/dist/output/timeline-markdown.d.ts +6 -0
- package/dist/output/timeline-markdown.d.ts.map +1 -0
- package/dist/output/timeline-markdown.js +167 -0
- package/dist/output/timeline-markdown.js.map +1 -0
- package/dist/output/timeline.d.ts +9 -0
- package/dist/output/timeline.d.ts.map +1 -0
- package/dist/output/timeline.js +318 -0
- package/dist/output/timeline.js.map +1 -0
- package/dist/patterns/detour.d.ts +32 -0
- package/dist/patterns/detour.d.ts.map +1 -0
- package/dist/patterns/detour.js +137 -0
- package/dist/patterns/detour.js.map +1 -0
- package/dist/patterns/flow-state.d.ts +16 -0
- package/dist/patterns/flow-state.d.ts.map +1 -0
- package/dist/patterns/flow-state.js +40 -0
- package/dist/patterns/flow-state.js.map +1 -0
- package/dist/patterns/index.d.ts +8 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +22 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/intervention-effectiveness.d.ts +42 -0
- package/dist/patterns/intervention-effectiveness.d.ts.map +1 -0
- package/dist/patterns/intervention-effectiveness.js +196 -0
- package/dist/patterns/intervention-effectiveness.js.map +1 -0
- package/dist/patterns/late-night.d.ts +30 -0
- package/dist/patterns/late-night.d.ts.map +1 -0
- package/dist/patterns/late-night.js +141 -0
- package/dist/patterns/late-night.js.map +1 -0
- package/dist/patterns/post-delete-sprint.d.ts +28 -0
- package/dist/patterns/post-delete-sprint.d.ts.map +1 -0
- package/dist/patterns/post-delete-sprint.js +85 -0
- package/dist/patterns/post-delete-sprint.js.map +1 -0
- package/dist/patterns/spiral-regression.d.ts +49 -0
- package/dist/patterns/spiral-regression.d.ts.map +1 -0
- package/dist/patterns/spiral-regression.js +219 -0
- package/dist/patterns/spiral-regression.js.map +1 -0
- package/dist/patterns/thrashing.d.ts +25 -0
- package/dist/patterns/thrashing.d.ts.map +1 -0
- package/dist/patterns/thrashing.js +111 -0
- package/dist/patterns/thrashing.js.map +1 -0
- package/dist/storage/atomic.d.ts +40 -0
- package/dist/storage/atomic.d.ts.map +1 -0
- package/dist/storage/atomic.js +155 -0
- package/dist/storage/atomic.js.map +1 -0
- package/dist/storage/commit-log.d.ts +35 -0
- package/dist/storage/commit-log.d.ts.map +1 -0
- package/dist/storage/commit-log.js +128 -0
- package/dist/storage/commit-log.js.map +1 -0
- package/dist/storage/index.d.ts +5 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +33 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/schema.d.ts +32 -0
- package/dist/storage/schema.d.ts.map +1 -0
- package/dist/storage/schema.js +37 -0
- package/dist/storage/schema.js.map +1 -0
- package/dist/storage/timeline-store.d.ts +117 -0
- package/dist/storage/timeline-store.d.ts.map +1 -0
- package/dist/storage/timeline-store.js +438 -0
- package/dist/storage/timeline-store.js.map +1 -0
- package/dist/types.d.ts +96 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/ARCHITECTURE.md +458 -0
- package/docs/DATA-ARCHITECTURE.md +565 -0
- package/docs/GAMIFICATION.md +564 -0
- package/docs/JSON-STORAGE-PATTERNS.md +512 -0
- package/docs/METRICS-EXPLAINED.md +394 -0
- package/docs/UNIFIED-ECOSYSTEM.md +560 -0
- package/docs/VIBE-ECOSYSTEM.md +406 -0
- package/feature-list.json +103 -1
- package/package.json +2 -1
- package/vitest.config.ts +1 -5
- package/.vibe-check/calibration.json +0 -38
- package/.vibe-check/latest.json +0 -114
- package/.vibe-check/sessions.json +0 -34
package/claude-progress.json
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"project": "vibe-check",
|
|
3
3
|
"created": "2025-11-29",
|
|
4
|
-
"version": "1.
|
|
5
|
-
"current_state": {
|
|
6
|
-
"working_on": null,
|
|
7
|
-
"blockers": [],
|
|
8
|
-
"next_steps": [
|
|
9
|
-
"VIBE-013: Pattern memory (track spiral triggers)",
|
|
10
|
-
"VIBE-014: Intervention tracking (what breaks spirals)"
|
|
11
|
-
]
|
|
12
|
-
},
|
|
4
|
+
"version": "1.5.0",
|
|
13
5
|
"stats": {
|
|
14
|
-
"test_files":
|
|
15
|
-
"tests_passing":
|
|
16
|
-
"npm_version": "1.
|
|
6
|
+
"test_files": 2,
|
|
7
|
+
"tests_passing": 18,
|
|
8
|
+
"npm_version": "1.5.0"
|
|
17
9
|
},
|
|
18
10
|
"sessions": [
|
|
19
11
|
{
|
|
@@ -51,6 +43,202 @@
|
|
|
51
43
|
"summary": "Major refactor: removed ML cruft (1563 lines), added session workflow, watch mode, automatic baseline comparison. Published v1.3.0, v1.3.1, v1.3.2",
|
|
52
44
|
"commits": ["858ee83", "eed8163", "fb88a68"],
|
|
53
45
|
"features_completed": ["VIBE-009", "VIBE-010", "VIBE-011", "VIBE-012"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"session_id": "2025-11-29-005",
|
|
49
|
+
"started": "2025-11-29T16:20:00Z",
|
|
50
|
+
"ended": "2025-11-29T17:10:00Z",
|
|
51
|
+
"vibe_level": 3,
|
|
52
|
+
"summary": "Pattern memory and intervention tracking: 1594 lines, 39 new tests, published v1.4.0. All 14 features complete.",
|
|
53
|
+
"commits": ["5c92c78", "512eac2"],
|
|
54
|
+
"features_completed": ["VIBE-013", "VIBE-014"]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"session_id": "2025-11-29-006",
|
|
58
|
+
"started": "2025-11-29T17:30:00Z",
|
|
59
|
+
"ended": "2025-11-29T18:45:00Z",
|
|
60
|
+
"vibe_level": 4,
|
|
61
|
+
"summary": "Ultimate gamification supercharge: 9 new features (challenges, prestige, leaderboards, hall of fame, sparklines, badges, share, near-miss). Published v1.5.0. Updated vibe-coding corpus with exhaustive documentation (1672 lines added).",
|
|
62
|
+
"commits": ["31a2818"],
|
|
63
|
+
"features_completed": ["VIBE-015", "VIBE-016", "VIBE-017", "VIBE-018", "VIBE-019", "VIBE-020", "VIBE-021", "VIBE-022", "VIBE-023"]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"session_id": "2025-11-29-007",
|
|
67
|
+
"started": "2025-11-29T18:00:00Z",
|
|
68
|
+
"ended": "2025-11-29T18:30:00Z",
|
|
69
|
+
"vibe_level": 5,
|
|
70
|
+
"summary": "Documentation & Research: Created VIBE-ECOSYSTEM.md (411 lines) and UNIFIED-ECOSYSTEM.md (560 lines) synthesizing vibe-coding corpus, vibe-check, 12-Factor AgentOps, and Knowledge OS. Used 4x parallel Explore agents for multi-domain research.",
|
|
71
|
+
"commits": ["c85df7c", "96a03ab", "a28cf87", "d2ee19d"],
|
|
72
|
+
"features_completed": [],
|
|
73
|
+
"retro": {
|
|
74
|
+
"failure_patterns_hit": 0,
|
|
75
|
+
"vibe_score": 91,
|
|
76
|
+
"trust_pass_rate": 100,
|
|
77
|
+
"learnings": ["Parallel Explore agents (4x) excellent for cross-domain research", "Three-layer architecture (BUILD/WORK/RUN) provides clear ecosystem mental model"]
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"session_id": "2025-11-30-001",
|
|
82
|
+
"started": "2025-11-30T08:00:00Z",
|
|
83
|
+
"ended": "2025-11-30T09:00:00Z",
|
|
84
|
+
"vibe_level": 3,
|
|
85
|
+
"summary": "Test cleanup: Created 258 unit tests (wrong approach), then deleted all and replaced with 11 integration tests. Enhanced CI workflow. Full retrospective analyzing ML detour and 12 vibe-coding failure patterns for writing.",
|
|
86
|
+
"commits": ["1aef39d", "2565d7b"],
|
|
87
|
+
"features_completed": [],
|
|
88
|
+
"retro": {
|
|
89
|
+
"failure_patterns_hit": 2,
|
|
90
|
+
"patterns": ["Tests Passing Lie", "Instruction Drift (258 unnecessary tests)"],
|
|
91
|
+
"vibe_score": 84,
|
|
92
|
+
"trust_pass_rate": 100,
|
|
93
|
+
"learnings": [
|
|
94
|
+
"Integration tests > unit tests for CLIs",
|
|
95
|
+
"258 tests that test internals ≠ confidence",
|
|
96
|
+
"11 tests that run the CLI = actual validation"
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"session_id": "2025-11-30-002",
|
|
102
|
+
"started": "2025-11-30T09:30:00Z",
|
|
103
|
+
"ended": "2025-11-30T11:00:00Z",
|
|
104
|
+
"vibe_level": 4,
|
|
105
|
+
"summary": "Blog post enhancement & timeline feature research: Updated vibe-check-ecosystem.mdx with real git timestamps (ML detour story), created BuildTimeline component for personal-website, ran 3-agent parallel research for timeline feature design, cleaned up personal/CLAUDE.md to JIT architecture (1145→130 lines).",
|
|
106
|
+
"commits": [],
|
|
107
|
+
"features_completed": [],
|
|
108
|
+
"artifacts": [
|
|
109
|
+
"personal-website/src/components/blog/BuildTimeline.tsx",
|
|
110
|
+
"personal-website/src/content/writing/vibe-check-ecosystem.mdx (updated)",
|
|
111
|
+
"personal/.claude/context/ (6 JIT files)",
|
|
112
|
+
".agents/bundles/timeline-feature-research-complete-2025-11-30.md",
|
|
113
|
+
".agents/plans/timeline-feature-plan.md"
|
|
114
|
+
],
|
|
115
|
+
"learnings": [
|
|
116
|
+
"Real timestamps from git make compelling narrative (10h active vs 45h wall clock)",
|
|
117
|
+
"3-agent parallel research provides comprehensive coverage in 1/3 time",
|
|
118
|
+
"Timeline feature is viable - git provides all needed data",
|
|
119
|
+
"Post-delete sprint pattern (5 features in 1h 58m) is the killer insight"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"session_id": "2025-11-30-003",
|
|
124
|
+
"started": "2025-11-30T14:30:00Z",
|
|
125
|
+
"ended": "2025-11-30T15:00:00Z",
|
|
126
|
+
"vibe_level": 4,
|
|
127
|
+
"summary": "Implemented timeline command Phase 1 MVP and Phase 2 pattern detection. Built session detection (1-hour gap), day grouping, terminal output with expand option. Added flow state, post-delete sprint, and thrashing pattern modules. Created recommendation engine.",
|
|
128
|
+
"commits": ["cd5e2b2", "36f89ee"],
|
|
129
|
+
"features_completed": ["VIBE-024", "VIBE-025", "VIBE-026", "VIBE-027", "VIBE-028"],
|
|
130
|
+
"artifacts": [
|
|
131
|
+
"src/commands/timeline.ts",
|
|
132
|
+
"src/output/timeline.ts",
|
|
133
|
+
"src/patterns/flow-state.ts",
|
|
134
|
+
"src/patterns/post-delete-sprint.ts",
|
|
135
|
+
"src/patterns/thrashing.ts"
|
|
136
|
+
],
|
|
137
|
+
"learnings": [
|
|
138
|
+
"Commander.js needs enablePositionalOptions() for subcommand option inheritance",
|
|
139
|
+
"Pattern detection modules keep timeline.ts focused on orchestration",
|
|
140
|
+
"Recommendation engine adds actionable value beyond raw metrics"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"session_id": "2025-11-30-004",
|
|
145
|
+
"started": "2025-11-30T16:00:00Z",
|
|
146
|
+
"ended": "2025-11-30T16:30:00Z",
|
|
147
|
+
"vibe_level": 4,
|
|
148
|
+
"summary": "Implemented timeline Phase 3: detour detection (tracks code added then deleted) and late-night spiral detection (identifies debugging after 10pm). Added 7 unit tests. All patterns integrated into timeline output with recommendations.",
|
|
149
|
+
"commits": [],
|
|
150
|
+
"features_completed": ["VIBE-029"],
|
|
151
|
+
"artifacts": [
|
|
152
|
+
"src/patterns/detour.ts",
|
|
153
|
+
"src/patterns/late-night.ts",
|
|
154
|
+
"tests/patterns.test.ts"
|
|
155
|
+
],
|
|
156
|
+
"learnings": [
|
|
157
|
+
"Detour detection requires tracking additions before deletions in same scope",
|
|
158
|
+
"Late-night spirals need hour-of-day check (>22:00 or <6:00)",
|
|
159
|
+
"Fresh-eyes comparison adds powerful behavioral insight"
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"current_state": {
|
|
164
|
+
"working_on": null,
|
|
165
|
+
"blockers": [],
|
|
166
|
+
"next_steps": [
|
|
167
|
+
"Implement insight-dashboard-plan-2025-11-30.md (vibe-check dashboard command)",
|
|
168
|
+
"npm version minor && npm publish (v1.6.0)",
|
|
169
|
+
"Consider multi-repo aggregation for v2.0"
|
|
170
|
+
],
|
|
171
|
+
"resume_summary": "Storage hardening + cross-session queries + regression detection complete. Research + plan done for insight engine and dashboard. Ready to implement dashboard command."
|
|
172
|
+
},
|
|
173
|
+
"sessions_continued": [
|
|
174
|
+
{
|
|
175
|
+
"session_id": "2025-11-30-005",
|
|
176
|
+
"started": "2025-11-30T16:00:00Z",
|
|
177
|
+
"ended": "2025-11-30T17:30:00Z",
|
|
178
|
+
"vibe_level": 4,
|
|
179
|
+
"summary": "Completed timeline Phases 3-4 (detour detection, late-night spirals, Markdown/HTML export) plus Phase 5 persistence (.vibe-check/timeline.json with compounding insights). Ran 3-agent parallel research on git-native app architecture.",
|
|
180
|
+
"commits": ["fab976d", "9e1369f", "5ef096f"],
|
|
181
|
+
"features_completed": ["VIBE-029", "VIBE-030", "VIBE-031"],
|
|
182
|
+
"artifacts": [
|
|
183
|
+
"src/patterns/detour.ts",
|
|
184
|
+
"src/patterns/late-night.ts",
|
|
185
|
+
"src/output/timeline-markdown.ts",
|
|
186
|
+
"src/output/timeline-html.ts",
|
|
187
|
+
"src/storage/timeline-store.ts"
|
|
188
|
+
],
|
|
189
|
+
"learnings": [
|
|
190
|
+
"NDJSON is ideal for append-only session logs (git-friendly diffs)",
|
|
191
|
+
"Compounding insights require threshold-based generation (3+ occurrences)",
|
|
192
|
+
"Local Express server + WebSocket = live dashboard MVP (2 hours)",
|
|
193
|
+
"git config alias.timeline makes CLI feel git-native"
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"session_id": "2025-11-30-006",
|
|
198
|
+
"started": "2025-11-30T10:30:00Z",
|
|
199
|
+
"ended": "2025-11-30T12:00:00Z",
|
|
200
|
+
"vibe_level": 5,
|
|
201
|
+
"summary": "Implemented atomic writes, NDJSON commit log, schema versioning. Created DATA-ARCHITECTURE.md and JSON-STORAGE-PATTERNS.md. Ran 3-agent parallel research identifying 12 enhancement opportunities. Created hardening + cache command plan.",
|
|
202
|
+
"commits": ["cdf9713"],
|
|
203
|
+
"features_completed": [],
|
|
204
|
+
"artifacts": [
|
|
205
|
+
"src/storage/atomic.ts",
|
|
206
|
+
"src/storage/commit-log.ts",
|
|
207
|
+
"src/storage/schema.ts",
|
|
208
|
+
"docs/DATA-ARCHITECTURE.md",
|
|
209
|
+
"docs/JSON-STORAGE-PATTERNS.md",
|
|
210
|
+
".agents/bundles/storage-enhancement-research-2025-11-30.md",
|
|
211
|
+
".agents/plans/storage-hardening-and-cache-plan.md"
|
|
212
|
+
],
|
|
213
|
+
"learnings": [
|
|
214
|
+
"Atomic writes via temp+rename pattern prevents corruption",
|
|
215
|
+
"NDJSON enables event-sourcing (regenerate views from source)",
|
|
216
|
+
"3-agent parallel research provides comprehensive analysis in 1/3 time",
|
|
217
|
+
"Schema versioning enables future migrations without breaking changes"
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"session_id": "2025-11-30-007",
|
|
222
|
+
"started": "2025-11-30T12:30:00Z",
|
|
223
|
+
"ended": "2025-11-30T13:00:00Z",
|
|
224
|
+
"vibe_level": 4,
|
|
225
|
+
"summary": "Implemented Phases 1-3: storage hardening, cross-session queries (--all-time, --scope), regression detection, intervention effectiveness. Researched and planned insight engine + dashboard.",
|
|
226
|
+
"commits": ["360f972", "f806888", "e446aaa", "9f5a3e0"],
|
|
227
|
+
"features_completed": [],
|
|
228
|
+
"artifacts": [
|
|
229
|
+
"src/storage/atomic.ts (ensureGitignore, readNdjsonWithErrors)",
|
|
230
|
+
"src/commands/cache.ts",
|
|
231
|
+
"src/analysis/cross-session-analysis.ts",
|
|
232
|
+
"src/patterns/spiral-regression.ts",
|
|
233
|
+
"src/patterns/intervention-effectiveness.ts",
|
|
234
|
+
".agents/bundles/insight-mining-dashboard-research-2025-11-30.md",
|
|
235
|
+
".agents/plans/insight-dashboard-plan-2025-11-30.md"
|
|
236
|
+
],
|
|
237
|
+
"learnings": [
|
|
238
|
+
"Cross-session queries enable 'show all auth spirals' patterns",
|
|
239
|
+
"Hybrid dashboard architecture (JSON export + static HTML) is simplest",
|
|
240
|
+
"Insight generators should return null, not throw, for missing data"
|
|
241
|
+
]
|
|
54
242
|
}
|
|
55
243
|
]
|
|
56
244
|
}
|
package/claude-progress.txt
CHANGED
|
@@ -3,6 +3,176 @@ Created: 2025-11-29
|
|
|
3
3
|
|
|
4
4
|
## Session Log
|
|
5
5
|
|
|
6
|
+
--- 2025-11-30 12:00 - Storage Enhancement Session ---
|
|
7
|
+
|
|
8
|
+
VIBE LEVEL: 5 (Infrastructure, high trust)
|
|
9
|
+
|
|
10
|
+
COMPLETED:
|
|
11
|
+
- Implemented storage layer enhancement:
|
|
12
|
+
- src/storage/atomic.ts (atomic writes, NDJSON utilities, safe reads)
|
|
13
|
+
- src/storage/commit-log.ts (append-only commit log)
|
|
14
|
+
- src/storage/schema.ts (versioning + migrations)
|
|
15
|
+
- Created comprehensive documentation:
|
|
16
|
+
- docs/DATA-ARCHITECTURE.md (full data flow mapping)
|
|
17
|
+
- docs/JSON-STORAGE-PATTERNS.md (5 patterns, best practices)
|
|
18
|
+
- Ran 3-agent parallel research:
|
|
19
|
+
- Agent 1: Landscape mapping (commands, data flows)
|
|
20
|
+
- Agent 2: Pattern finding (12 enhancement opportunities)
|
|
21
|
+
- Agent 3: Constraint analysis (security, privacy, UX)
|
|
22
|
+
- Created implementation plan for Phase 1 hardening + cache command
|
|
23
|
+
|
|
24
|
+
COMMITS (1 this session):
|
|
25
|
+
- cdf9713 feat(storage): add atomic writes, NDJSON commit log, and schema versioning
|
|
26
|
+
|
|
27
|
+
ARTIFACTS:
|
|
28
|
+
- .agents/bundles/storage-enhancement-research-2025-11-30.md
|
|
29
|
+
- .agents/plans/storage-hardening-and-cache-plan.md
|
|
30
|
+
|
|
31
|
+
REMAINING:
|
|
32
|
+
- Implement storage-hardening-and-cache-plan.md (cache command, fixes)
|
|
33
|
+
- npm publish v1.6.0 with storage enhancements
|
|
34
|
+
|
|
35
|
+
NEXT SESSION SHOULD:
|
|
36
|
+
- /implement storage-hardening-and-cache-plan.md
|
|
37
|
+
- Test cache status and cache clear commands
|
|
38
|
+
- Consider cross-session queries (--all-time, --scope flags)
|
|
39
|
+
|
|
40
|
+
================================================================================
|
|
41
|
+
|
|
42
|
+
--- 2025-11-29 18:15 - Documentation Session ---
|
|
43
|
+
|
|
44
|
+
VIBE LEVEL: 5 (Documentation, high trust)
|
|
45
|
+
|
|
46
|
+
COMPLETED:
|
|
47
|
+
- Created unified vibe ecosystem overview document (docs/VIBE-ECOSYSTEM.md, 411 lines)
|
|
48
|
+
- Covers: methodology, core metrics, vibe levels, gamification, workflow integration
|
|
49
|
+
- Updated README.md with link to ecosystem documentation
|
|
50
|
+
- Cleaned up completed PLAN-ultimate-game.md (was for v1.5.0, now done)
|
|
51
|
+
- Pushed all previous commits to origin
|
|
52
|
+
|
|
53
|
+
COMMITS (2 this session):
|
|
54
|
+
- c85df7c session: v1.5.0 Ultimate Gamification & Corpus Documentation
|
|
55
|
+
- 96a03ab docs: add unified vibe-coding ecosystem overview
|
|
56
|
+
|
|
57
|
+
VIBE-CHECK RESULTS (This Session):
|
|
58
|
+
- Overall: ELITE
|
|
59
|
+
- Trust Pass Rate: 100%
|
|
60
|
+
- Rework Ratio: 0%
|
|
61
|
+
- Vibe Score: 88%
|
|
62
|
+
|
|
63
|
+
PROFILE STATUS:
|
|
64
|
+
- Level 5 Master (440/1000 XP)
|
|
65
|
+
- 1-day streak
|
|
66
|
+
- 119 tests passing
|
|
67
|
+
|
|
68
|
+
NOTE: Docs-only changes don't need npm publish (per CLAUDE.md standards).
|
|
69
|
+
|
|
70
|
+
================================================================================
|
|
71
|
+
|
|
72
|
+
--- 2025-11-29 18:45 - Ultimate Gamification & Corpus Documentation Session ---
|
|
73
|
+
|
|
74
|
+
VIBE LEVEL: 4 (High trust, building on established patterns)
|
|
75
|
+
|
|
76
|
+
COMPLETED:
|
|
77
|
+
- 9 new gamification features implemented
|
|
78
|
+
- VIBE-015: Weekly Challenges (auto-generated based on weak metrics)
|
|
79
|
+
- VIBE-016: Prestige System (Archmage → Legendary beyond Grandmaster)
|
|
80
|
+
- VIBE-017: Enhanced streak display (🔥→🌟→👑 visual progression)
|
|
81
|
+
- VIBE-018: Local leaderboards (personal high scores across repos)
|
|
82
|
+
- VIBE-019: Hall of Fame (personal bests and records)
|
|
83
|
+
- VIBE-020: Weekly stats with sparklines (▁▂▃▄▅▆▇█ trend visualization)
|
|
84
|
+
- VIBE-021: Rank badges (Bronze → Diamond tiers)
|
|
85
|
+
- VIBE-022: Share-to-clipboard (shareable profile text and JSON)
|
|
86
|
+
- VIBE-023: Near-miss psychology messaging ("SO CLOSE" motivational messages)
|
|
87
|
+
- Updated vibe-coding corpus with exhaustive v1.5.0 documentation (1672 lines added)
|
|
88
|
+
- Published v1.5.0 to npm
|
|
89
|
+
|
|
90
|
+
COMMITS:
|
|
91
|
+
- 31a2818 feat(v1.5): Ultimate Vibe-Coding Game - gamification supercharge
|
|
92
|
+
- c84ddab docs(corpus): update vibe-coding corpus with vibe-check v1.5.0
|
|
93
|
+
|
|
94
|
+
NEW CLI OPTIONS:
|
|
95
|
+
- `vibe-check profile --challenges` - Weekly challenges
|
|
96
|
+
- `vibe-check profile --leaderboard` - Personal leaderboard
|
|
97
|
+
- `vibe-check profile --hall-of-fame` - Personal records
|
|
98
|
+
- `vibe-check profile --weekly` - Weekly stats with sparklines
|
|
99
|
+
- `vibe-check profile --share` - Shareable profile text
|
|
100
|
+
- `vibe-check profile --share-json` - Shareable JSON
|
|
101
|
+
|
|
102
|
+
CORPUS UPDATES (gitops/docs/corpora/vibe-coding-corpus/):
|
|
103
|
+
- vibe-check/README.md - Complete v1.5.0 framework docs
|
|
104
|
+
- vibe-check/04-tooling/cli-operational-guide.md - Exhaustive CLI reference
|
|
105
|
+
- vibe-check/04-tooling/gamification.md - NEW: Gamification system docs
|
|
106
|
+
- vibe-levels/Vibe-Levels.md - Cross-references to vibe-check v1.5.0
|
|
107
|
+
|
|
108
|
+
PROJECT STATUS:
|
|
109
|
+
- **ALL 23 FEATURES COMPLETE**
|
|
110
|
+
- v1.5.0 published to npm
|
|
111
|
+
- 119 tests passing
|
|
112
|
+
|
|
113
|
+
REMAINING:
|
|
114
|
+
- None! All planned features implemented.
|
|
115
|
+
|
|
116
|
+
FUTURE IDEAS:
|
|
117
|
+
- Create unified vibe ecosystem overview document
|
|
118
|
+
- Team/org features for future versions
|
|
119
|
+
- VS Code extension for watch mode
|
|
120
|
+
|
|
121
|
+
================================================================================
|
|
122
|
+
|
|
123
|
+
--- 2025-11-29 17:10 - Pattern Memory & Intervention Tracking Session ---
|
|
124
|
+
|
|
125
|
+
VIBE LEVEL: 3 (Features with verification)
|
|
126
|
+
|
|
127
|
+
COMPLETED:
|
|
128
|
+
- VIBE-013: Pattern memory - tracks spiral triggers over time
|
|
129
|
+
- VIBE-014: Intervention tracking - records what breaks your spirals
|
|
130
|
+
- New `vibe-check intervene` command with 7 intervention types
|
|
131
|
+
- Profile integration: --patterns and --interventions flags
|
|
132
|
+
- 39 new tests (17 pattern memory + 22 intervention memory)
|
|
133
|
+
- Published v1.4.0 to npm
|
|
134
|
+
|
|
135
|
+
COMMITS (2 this session):
|
|
136
|
+
- 5c92c78 feat(v1.4): add pattern memory to track spiral triggers
|
|
137
|
+
- 512eac2 feat(v1.4): add intervention tracking to record what breaks spirals
|
|
138
|
+
|
|
139
|
+
NEW FEATURES:
|
|
140
|
+
- `vibe-check profile --patterns` - See your top spiral triggers
|
|
141
|
+
- `vibe-check profile --interventions` - See what breaks your spirals
|
|
142
|
+
- `vibe-check intervene <type>` - Record an intervention
|
|
143
|
+
- `vibe-check intervene --list` - List intervention types
|
|
144
|
+
- `vibe-check intervene --stats` - View your intervention statistics
|
|
145
|
+
|
|
146
|
+
INTERVENTION TYPES:
|
|
147
|
+
- TRACER_TEST, BREAK, DOCS, REFACTOR, HELP, ROLLBACK, OTHER
|
|
148
|
+
|
|
149
|
+
VIBE-CHECK RESULTS (This Session):
|
|
150
|
+
- Overall: ELITE
|
|
151
|
+
- Trust Pass Rate: 100%
|
|
152
|
+
- Rework Ratio: 0%
|
|
153
|
+
- Spirals: 0
|
|
154
|
+
- Vibe Score: 88%
|
|
155
|
+
|
|
156
|
+
PROFILE STATUS:
|
|
157
|
+
- Level 5 Master (180/1000 XP)
|
|
158
|
+
- 1-day streak
|
|
159
|
+
- 119 tests passing
|
|
160
|
+
|
|
161
|
+
PROJECT STATUS:
|
|
162
|
+
- **ALL 14 FEATURES COMPLETE**
|
|
163
|
+
- v1.4.0 published to npm
|
|
164
|
+
|
|
165
|
+
REMAINING:
|
|
166
|
+
- None! All planned features implemented.
|
|
167
|
+
|
|
168
|
+
FUTURE IDEAS:
|
|
169
|
+
- VS Code extension for watch mode
|
|
170
|
+
- Team/org statistics
|
|
171
|
+
- Integration with CI systems
|
|
172
|
+
- Historical trend charts
|
|
173
|
+
|
|
174
|
+
================================================================================
|
|
175
|
+
|
|
6
176
|
--- 2025-11-29 16:05 - Major Refactor: Simplify & Add Real Value Session ---
|
|
7
177
|
|
|
8
178
|
VIBE LEVEL: 3 (Features with verification)
|
|
@@ -86,6 +256,146 @@ PROFILE STATUS:
|
|
|
86
256
|
|
|
87
257
|
================================================================================
|
|
88
258
|
|
|
259
|
+
--- 2025-11-30 09:00 - Test Cleanup & Retrospective Session ---
|
|
260
|
+
|
|
261
|
+
VIBE LEVEL: 3 (Rework required - hit 2 failure patterns)
|
|
262
|
+
|
|
263
|
+
COMPLETED:
|
|
264
|
+
- Code review of full vibe-check repo
|
|
265
|
+
- Created 258 unit tests (WRONG APPROACH - Tests Passing Lie pattern)
|
|
266
|
+
- Recognized tests were testing internals, not CLI behavior
|
|
267
|
+
- Deleted all 258 unit tests
|
|
268
|
+
- Created 11 integration tests that actually test CLI
|
|
269
|
+
- Enhanced CI workflow with test step
|
|
270
|
+
- Added CI badge to README
|
|
271
|
+
- Full retrospective analyzing ML detour (22 hours, 1400 lines wasted)
|
|
272
|
+
- Documented all 12 vibe-coding failure patterns for writing
|
|
273
|
+
|
|
274
|
+
FAILURE PATTERNS HIT:
|
|
275
|
+
1. Tests Passing Lie - 258 tests sounded good but didn't test CLI behavior
|
|
276
|
+
2. Instruction Drift - Created unit tests when integration tests were needed
|
|
277
|
+
|
|
278
|
+
COMMITS (2 this session):
|
|
279
|
+
- 1aef39d test: add comprehensive test coverage and CI enhancements
|
|
280
|
+
- 2565d7b test: replace unit tests with CLI integration tests
|
|
281
|
+
|
|
282
|
+
KEY INSIGHT:
|
|
283
|
+
"258 unit tests, 46% coverage, 2% of CLI behavior tested"
|
|
284
|
+
→ Replaced with 11 integration tests that prove the CLI works
|
|
285
|
+
|
|
286
|
+
RETROSPECTIVE OUTPUT:
|
|
287
|
+
- Full analysis of ML detour (48% of commits were for deleted feature)
|
|
288
|
+
- 12 failure patterns documented with which ones were hit
|
|
289
|
+
- Quotable stats for vibe-coding writing
|
|
290
|
+
|
|
291
|
+
NEXT SESSION COULD:
|
|
292
|
+
- Use retrospective data for blog post / documentation
|
|
293
|
+
- Consider additional integration tests for edge cases
|
|
294
|
+
- Web dashboard development (Phase 3)
|
|
295
|
+
|
|
296
|
+
================================================================================
|
|
297
|
+
|
|
298
|
+
--- 2025-11-30 11:00 - Blog Post Enhancement & Timeline Feature Research ---
|
|
299
|
+
|
|
300
|
+
VIBE LEVEL: 4 (Research & planning, high trust)
|
|
301
|
+
|
|
302
|
+
COMPLETED:
|
|
303
|
+
- Updated vibe-check-ecosystem.mdx blog post with real git timestamps
|
|
304
|
+
- Changed fake timestamps (16:05, 16:15, etc.) to real ones from git log
|
|
305
|
+
- Updated "ML Pivot" section to "ML Detour" with Day 1/Day 2 narrative
|
|
306
|
+
- Added "The Numbers" table (5h 18m building ML, 21h 31m before deletion)
|
|
307
|
+
- Created BuildTimeline component for personal-website
|
|
308
|
+
- Visual timeline with color-coded events (feat/deleted/shipped/milestone)
|
|
309
|
+
- Stats bar showing duration, commits, features, deleted lines
|
|
310
|
+
- Added to MDXComponents for blog use
|
|
311
|
+
- Cleaned up personal/CLAUDE.md from 1,145 → 130 lines
|
|
312
|
+
- Created .claude/context/ with 6 JIT reference files
|
|
313
|
+
- Converted from monolithic to router architecture
|
|
314
|
+
- Ran 3-agent parallel research for timeline feature:
|
|
315
|
+
- Agent 1: Git data analysis (session detection, commit patterns)
|
|
316
|
+
- Agent 2: Pattern detection (spirals, flow states, detours)
|
|
317
|
+
- Agent 3: UX/visualization (terminal formatting, export formats)
|
|
318
|
+
|
|
319
|
+
ARTIFACTS CREATED:
|
|
320
|
+
- personal-website/src/components/blog/BuildTimeline.tsx
|
|
321
|
+
- personal/.claude/context/repository-map.md
|
|
322
|
+
- personal/.claude/context/cross-repo-workflows.md
|
|
323
|
+
- personal/.claude/context/navigation-guides.md
|
|
324
|
+
- personal/.claude/context/commands-reference.md
|
|
325
|
+
- personal/.claude/context/workspace-status.md
|
|
326
|
+
- personal/.claude/context/workspace-settings.md
|
|
327
|
+
- .agents/bundles/timeline-feature-research-complete-2025-11-30.md
|
|
328
|
+
- .agents/plans/timeline-feature-plan.md
|
|
329
|
+
|
|
330
|
+
KEY FINDINGS FROM RESEARCH:
|
|
331
|
+
- 1-hour gap threshold optimal for session detection (69% gaps <30m)
|
|
332
|
+
- Active coding: ~10 hours vs 45 hours wall clock
|
|
333
|
+
- Peak productivity: 12pm-2pm (42% of commits)
|
|
334
|
+
- Post-delete sprint: 5 features in 1h 58m - killer insight
|
|
335
|
+
- New patterns to detect: flow states, post-delete sprints, detours, thrashing
|
|
336
|
+
|
|
337
|
+
NEXT SESSION SHOULD:
|
|
338
|
+
- Implement vibe-check timeline command (Phase 1: MVP)
|
|
339
|
+
- Add flow state and post-delete sprint detection
|
|
340
|
+
- Create export formats (JSON, Markdown, HTML)
|
|
341
|
+
|
|
342
|
+
================================================================================
|
|
343
|
+
|
|
344
|
+
--- 2025-11-30 15:00 - Timeline Command Implementation (Phase 1 + 2) ---
|
|
345
|
+
|
|
346
|
+
VIBE LEVEL: 4 (High trust, building on researched design)
|
|
347
|
+
|
|
348
|
+
COMPLETED:
|
|
349
|
+
- Implemented timeline command Phase 1 MVP
|
|
350
|
+
- Session detection with 1-hour gap threshold
|
|
351
|
+
- Day grouping with aggregated metrics
|
|
352
|
+
- Terminal output with hybrid collapsed/expanded view
|
|
353
|
+
- CLI flags: --since, --until, --expand, --format, --repo, --verbose
|
|
354
|
+
- Implemented timeline Phase 2 pattern detection
|
|
355
|
+
- Flow state detection (5+ non-fix commits, no gap >30m, duration >45m)
|
|
356
|
+
- Post-delete sprint detection (velocity >50% after deletions)
|
|
357
|
+
- Thrashing detection (same file touched 5+ times in 2h)
|
|
358
|
+
- Created recommendation engine with actionable insights
|
|
359
|
+
- Fixed Commander.js subcommand option inheritance
|
|
360
|
+
|
|
361
|
+
COMMITS (2 this session):
|
|
362
|
+
- cd5e2b2 feat(timeline): implement Phase 1 MVP timeline command
|
|
363
|
+
- 36f89ee feat(timeline): implement Phase 2 pattern detection
|
|
364
|
+
|
|
365
|
+
NEW FILES:
|
|
366
|
+
- src/commands/timeline.ts (timeline orchestration)
|
|
367
|
+
- src/output/timeline.ts (terminal formatting)
|
|
368
|
+
- src/patterns/flow-state.ts (flow detection)
|
|
369
|
+
- src/patterns/post-delete-sprint.ts (sprint detection)
|
|
370
|
+
- src/patterns/thrashing.ts (thrashing detection)
|
|
371
|
+
|
|
372
|
+
FEATURES COMPLETED (5 this session):
|
|
373
|
+
- VIBE-024: Timeline Phase 1 MVP
|
|
374
|
+
- VIBE-025: Flow state detection
|
|
375
|
+
- VIBE-026: Post-delete sprint detection
|
|
376
|
+
- VIBE-027: Thrashing detection
|
|
377
|
+
- VIBE-028: Recommendation engine
|
|
378
|
+
|
|
379
|
+
SAMPLE OUTPUT:
|
|
380
|
+
```
|
|
381
|
+
📅 Sun Nov 30 ────────────────────────────── 100% ELITE 🏆
|
|
382
|
+
1 session, 5 commits, 0 spirals, +60 XP
|
|
383
|
+
🌊 feat(timeline): implement Phase 1 … (08:21-09:43, 1h 21m)
|
|
384
|
+
|
|
385
|
+
💡 Flow states peak around 8:00 - protect this time
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
REMAINING (from feature-list.json where passes=false):
|
|
389
|
+
- VIBE-029: Timeline Phase 3: Detour detection and late-night spirals
|
|
390
|
+
- VIBE-030: Timeline Phase 4: Export formats (Markdown, HTML for sharing)
|
|
391
|
+
|
|
392
|
+
NEXT SESSION SHOULD:
|
|
393
|
+
- Implement detour detection (code added then deleted)
|
|
394
|
+
- Add late-night spiral detection (commits after 22:00)
|
|
395
|
+
- Create Markdown and HTML export formats for sharing timelines
|
|
396
|
+
|
|
397
|
+
================================================================================
|
|
398
|
+
|
|
89
399
|
--- 2025-11-29 13:00 - Documentation, Tests & npm Publish Session ---
|
|
90
400
|
|
|
91
401
|
VIBE LEVEL: 3 (Features with verification)
|
package/dashboard/app.js
CHANGED
|
@@ -57,8 +57,20 @@ class VibeDashboard {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
async loadProfile() {
|
|
60
|
-
//
|
|
61
|
-
|
|
60
|
+
// Try to load dashboard-data.json (generated by vibe-check dashboard)
|
|
61
|
+
try {
|
|
62
|
+
const response = await fetch('dashboard-data.json');
|
|
63
|
+
if (response.ok) {
|
|
64
|
+
const data = await response.json();
|
|
65
|
+
this.dashboardData = data;
|
|
66
|
+
this.profile = this.transformToProfile(data);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
} catch (e) {
|
|
70
|
+
console.log('No dashboard-data.json found, using mock data');
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Fall back to localStorage or mock
|
|
62
74
|
const stored = localStorage.getItem('vibe-check-profile');
|
|
63
75
|
if (stored) {
|
|
64
76
|
this.profile = JSON.parse(stored);
|
|
@@ -67,6 +79,30 @@ class VibeDashboard {
|
|
|
67
79
|
}
|
|
68
80
|
}
|
|
69
81
|
|
|
82
|
+
transformToProfile(data) {
|
|
83
|
+
// Transform DashboardData to legacy profile format for existing UI
|
|
84
|
+
return {
|
|
85
|
+
version: data.version,
|
|
86
|
+
xp: {
|
|
87
|
+
total: data.profile.xp.total,
|
|
88
|
+
level: data.profile.level,
|
|
89
|
+
levelName: data.profile.levelName,
|
|
90
|
+
currentLevelXP: data.profile.xp.current,
|
|
91
|
+
nextLevelXP: data.profile.xp.next,
|
|
92
|
+
},
|
|
93
|
+
streak: data.profile.streak,
|
|
94
|
+
achievements: data.achievements.filter(a => a.unlockedAt),
|
|
95
|
+
sessions: data.sessions,
|
|
96
|
+
stats: {
|
|
97
|
+
totalSessions: data.stats.totals.sessions,
|
|
98
|
+
totalCommitsAnalyzed: data.stats.totals.commits,
|
|
99
|
+
avgVibeScore: data.stats.averages.allTime,
|
|
100
|
+
bestVibeScore: Math.max(...data.sessions.map(s => s.vibeScore), 0),
|
|
101
|
+
spiralsAvoided: data.sessions.filter(s => s.spirals === 0).length,
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
70
106
|
getMockProfile() {
|
|
71
107
|
// Mock profile for demonstration
|
|
72
108
|
return {
|
|
@@ -139,6 +175,7 @@ class VibeDashboard {
|
|
|
139
175
|
this.updateProfileSummary();
|
|
140
176
|
this.updateStats();
|
|
141
177
|
this.renderRecentSessions();
|
|
178
|
+
this.renderInsights();
|
|
142
179
|
}
|
|
143
180
|
|
|
144
181
|
updateProfileSummary() {
|
|
@@ -190,6 +227,42 @@ class VibeDashboard {
|
|
|
190
227
|
`).join('');
|
|
191
228
|
}
|
|
192
229
|
|
|
230
|
+
renderInsights() {
|
|
231
|
+
const container = document.getElementById('insightsList');
|
|
232
|
+
if (!container) return;
|
|
233
|
+
|
|
234
|
+
if (!this.dashboardData?.insights?.length) {
|
|
235
|
+
container.innerHTML = `
|
|
236
|
+
<div class="empty-state">
|
|
237
|
+
<span class="empty-icon">💡</span>
|
|
238
|
+
<p>Run <code>vibe-check dashboard</code> to generate insights</p>
|
|
239
|
+
</div>
|
|
240
|
+
`;
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
const insights = this.dashboardData.insights.slice(0, 5);
|
|
245
|
+
container.innerHTML = insights.map(insight => {
|
|
246
|
+
const severityClass = {
|
|
247
|
+
success: 'insight-success',
|
|
248
|
+
warning: 'insight-warning',
|
|
249
|
+
critical: 'insight-critical',
|
|
250
|
+
info: 'insight-info',
|
|
251
|
+
}[insight.severity] || 'insight-info';
|
|
252
|
+
|
|
253
|
+
return `
|
|
254
|
+
<div class="insight-item ${severityClass}">
|
|
255
|
+
<span class="insight-icon">${insight.icon}</span>
|
|
256
|
+
<div class="insight-content">
|
|
257
|
+
<div class="insight-title">${insight.title}</div>
|
|
258
|
+
<div class="insight-message">${insight.message}</div>
|
|
259
|
+
${insight.action ? `<div class="insight-action">${insight.action}</div>` : ''}
|
|
260
|
+
</div>
|
|
261
|
+
</div>
|
|
262
|
+
`;
|
|
263
|
+
}).join('');
|
|
264
|
+
}
|
|
265
|
+
|
|
193
266
|
initCharts() {
|
|
194
267
|
this.initTrendChart();
|
|
195
268
|
this.initRadarChart();
|