@ginkoai/cli 1.7.2 → 2.0.0-beta.2

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.
Files changed (101) hide show
  1. package/dist/commands/assign.d.ts +19 -0
  2. package/dist/commands/assign.d.ts.map +1 -0
  3. package/dist/commands/assign.js +200 -0
  4. package/dist/commands/assign.js.map +1 -0
  5. package/dist/commands/epic.d.ts.map +1 -1
  6. package/dist/commands/epic.js +48 -23
  7. package/dist/commands/epic.js.map +1 -1
  8. package/dist/commands/graph/api-client.d.ts +1 -0
  9. package/dist/commands/graph/api-client.d.ts.map +1 -1
  10. package/dist/commands/graph/api-client.js.map +1 -1
  11. package/dist/commands/insights/index.d.ts +12 -0
  12. package/dist/commands/insights/index.d.ts.map +1 -0
  13. package/dist/commands/insights/index.js +12 -0
  14. package/dist/commands/insights/index.js.map +1 -0
  15. package/dist/commands/insights/insights-command.d.ts +20 -0
  16. package/dist/commands/insights/insights-command.d.ts.map +1 -0
  17. package/dist/commands/insights/insights-command.js +369 -0
  18. package/dist/commands/insights/insights-command.js.map +1 -0
  19. package/dist/commands/principles/seed.d.ts +26 -0
  20. package/dist/commands/principles/seed.d.ts.map +1 -0
  21. package/dist/commands/principles/seed.js +150 -0
  22. package/dist/commands/principles/seed.js.map +1 -0
  23. package/dist/commands/start/start-reflection.d.ts +11 -0
  24. package/dist/commands/start/start-reflection.d.ts.map +1 -1
  25. package/dist/commands/start/start-reflection.js +149 -16
  26. package/dist/commands/start/start-reflection.js.map +1 -1
  27. package/dist/commands/sync/index.d.ts +21 -0
  28. package/dist/commands/sync/index.d.ts.map +1 -0
  29. package/dist/commands/sync/index.js +38 -0
  30. package/dist/commands/sync/index.js.map +1 -0
  31. package/dist/commands/sync/node-syncer.d.ts +58 -0
  32. package/dist/commands/sync/node-syncer.d.ts.map +1 -0
  33. package/dist/commands/sync/node-syncer.js +192 -0
  34. package/dist/commands/sync/node-syncer.js.map +1 -0
  35. package/dist/commands/sync/sprint-syncer.d.ts +42 -0
  36. package/dist/commands/sync/sprint-syncer.d.ts.map +1 -0
  37. package/dist/commands/sync/sprint-syncer.js +274 -0
  38. package/dist/commands/sync/sprint-syncer.js.map +1 -0
  39. package/dist/commands/sync/sync-command.d.ts +16 -0
  40. package/dist/commands/sync/sync-command.d.ts.map +1 -0
  41. package/dist/commands/sync/sync-command.js +429 -0
  42. package/dist/commands/sync/sync-command.js.map +1 -0
  43. package/dist/commands/sync/types.d.ts +86 -0
  44. package/dist/commands/sync/types.d.ts.map +1 -0
  45. package/dist/commands/sync/types.js +12 -0
  46. package/dist/commands/sync/types.js.map +1 -0
  47. package/dist/core/session-log-manager.d.ts +3 -1
  48. package/dist/core/session-log-manager.d.ts.map +1 -1
  49. package/dist/core/session-log-manager.js +5 -3
  50. package/dist/core/session-log-manager.js.map +1 -1
  51. package/dist/data/standard-principles.d.ts +43 -0
  52. package/dist/data/standard-principles.d.ts.map +1 -0
  53. package/dist/data/standard-principles.js +323 -0
  54. package/dist/data/standard-principles.js.map +1 -0
  55. package/dist/index.js +54 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/lib/insights/analyzers/anti-patterns.d.ts +32 -0
  58. package/dist/lib/insights/analyzers/anti-patterns.d.ts.map +1 -0
  59. package/dist/lib/insights/analyzers/anti-patterns.js +302 -0
  60. package/dist/lib/insights/analyzers/anti-patterns.js.map +1 -0
  61. package/dist/lib/insights/analyzers/efficiency.d.ts +22 -0
  62. package/dist/lib/insights/analyzers/efficiency.d.ts.map +1 -0
  63. package/dist/lib/insights/analyzers/efficiency.js +311 -0
  64. package/dist/lib/insights/analyzers/efficiency.js.map +1 -0
  65. package/dist/lib/insights/analyzers/index.d.ts +24 -0
  66. package/dist/lib/insights/analyzers/index.d.ts.map +1 -0
  67. package/dist/lib/insights/analyzers/index.js +37 -0
  68. package/dist/lib/insights/analyzers/index.js.map +1 -0
  69. package/dist/lib/insights/analyzers/patterns.d.ts +21 -0
  70. package/dist/lib/insights/analyzers/patterns.d.ts.map +1 -0
  71. package/dist/lib/insights/analyzers/patterns.js +337 -0
  72. package/dist/lib/insights/analyzers/patterns.js.map +1 -0
  73. package/dist/lib/insights/analyzers/quality.d.ts +29 -0
  74. package/dist/lib/insights/analyzers/quality.d.ts.map +1 -0
  75. package/dist/lib/insights/analyzers/quality.js +371 -0
  76. package/dist/lib/insights/analyzers/quality.js.map +1 -0
  77. package/dist/lib/insights/data-collector.d.ts +68 -0
  78. package/dist/lib/insights/data-collector.d.ts.map +1 -0
  79. package/dist/lib/insights/data-collector.js +514 -0
  80. package/dist/lib/insights/data-collector.js.map +1 -0
  81. package/dist/lib/insights/index.d.ts +14 -0
  82. package/dist/lib/insights/index.d.ts.map +1 -0
  83. package/dist/lib/insights/index.js +17 -0
  84. package/dist/lib/insights/index.js.map +1 -0
  85. package/dist/lib/insights/scheduler.d.ts +71 -0
  86. package/dist/lib/insights/scheduler.d.ts.map +1 -0
  87. package/dist/lib/insights/scheduler.js +126 -0
  88. package/dist/lib/insights/scheduler.js.map +1 -0
  89. package/dist/lib/insights/types.d.ts +216 -0
  90. package/dist/lib/insights/types.d.ts.map +1 -0
  91. package/dist/lib/insights/types.js +12 -0
  92. package/dist/lib/insights/types.js.map +1 -0
  93. package/dist/templates/ai-instructions-template.d.ts +1 -0
  94. package/dist/templates/ai-instructions-template.d.ts.map +1 -1
  95. package/dist/templates/ai-instructions-template.js +51 -0
  96. package/dist/templates/ai-instructions-template.js.map +1 -1
  97. package/package.json +1 -1
  98. package/dist/lib/__tests__/task-timeout.test.d.ts +0 -12
  99. package/dist/lib/__tests__/task-timeout.test.d.ts.map +0 -1
  100. package/dist/lib/__tests__/task-timeout.test.js +0 -278
  101. package/dist/lib/__tests__/task-timeout.test.js.map +0 -1
@@ -0,0 +1,126 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-12-30
5
+ * @tags: [insights, scheduler, auto-update, coaching]
6
+ * @related: [./index.ts, ../../commands/start/start-reflection.ts]
7
+ * @priority: high
8
+ * @complexity: medium
9
+ * @dependencies: [fs-extra, path]
10
+ */
11
+ import fs from 'fs-extra';
12
+ import * as path from 'path';
13
+ import { getGinkoDir, getUserEmail } from '../../utils/helpers.js';
14
+ /**
15
+ * Default schedule configuration.
16
+ * - 1-day insights: Run every 24 hours
17
+ * - 7-day insights: Run every 24 hours (aggregates last 7 days)
18
+ * - 30-day insights: Run every 7 days (aggregates last 30 days)
19
+ */
20
+ const DEFAULT_SCHEDULE = {
21
+ day1: { intervalMs: 24 * 60 * 60 * 1000 }, // 24 hours
22
+ day7: { intervalMs: 24 * 60 * 60 * 1000 }, // 24 hours
23
+ day30: { intervalMs: 7 * 24 * 60 * 60 * 1000 }, // 7 days
24
+ };
25
+ /**
26
+ * Get the path to the insights schedule file.
27
+ */
28
+ async function getSchedulePath() {
29
+ const ginkoDir = await getGinkoDir();
30
+ const userEmail = await getUserEmail();
31
+ const userSlug = userEmail.replace('@', '-at-').replace(/\./g, '-');
32
+ return path.join(ginkoDir, 'sessions', userSlug, 'insights-schedule.json');
33
+ }
34
+ /**
35
+ * Load the current schedule configuration.
36
+ */
37
+ export async function loadSchedule() {
38
+ try {
39
+ const schedulePath = await getSchedulePath();
40
+ if (await fs.pathExists(schedulePath)) {
41
+ const data = await fs.readJson(schedulePath);
42
+ return {
43
+ day1: { ...DEFAULT_SCHEDULE.day1, ...data.day1 },
44
+ day7: { ...DEFAULT_SCHEDULE.day7, ...data.day7 },
45
+ day30: { ...DEFAULT_SCHEDULE.day30, ...data.day30 },
46
+ };
47
+ }
48
+ }
49
+ catch {
50
+ // Return default on any error
51
+ }
52
+ return { ...DEFAULT_SCHEDULE };
53
+ }
54
+ /**
55
+ * Save the schedule configuration.
56
+ */
57
+ export async function saveSchedule(schedule) {
58
+ const schedulePath = await getSchedulePath();
59
+ await fs.ensureDir(path.dirname(schedulePath));
60
+ await fs.writeJson(schedulePath, schedule, { spaces: 2 });
61
+ }
62
+ /**
63
+ * Check which insights periods need to be refreshed.
64
+ * Returns an array of period names that should be run.
65
+ */
66
+ export async function checkSchedule() {
67
+ const schedule = await loadSchedule();
68
+ const now = Date.now();
69
+ const periodsToRun = [];
70
+ for (const [period, entry] of Object.entries(schedule)) {
71
+ const lastRun = entry.lastRun ? new Date(entry.lastRun).getTime() : 0;
72
+ const elapsed = now - lastRun;
73
+ if (elapsed >= entry.intervalMs) {
74
+ periodsToRun.push(period);
75
+ }
76
+ }
77
+ return periodsToRun;
78
+ }
79
+ /**
80
+ * Record that an insights run completed for a specific period.
81
+ */
82
+ export async function recordRun(period, score) {
83
+ const schedule = await loadSchedule();
84
+ schedule[period] = {
85
+ ...schedule[period],
86
+ lastRun: new Date().toISOString(),
87
+ lastScore: score,
88
+ };
89
+ await saveSchedule(schedule);
90
+ }
91
+ /**
92
+ * Get the last known scores for trend display.
93
+ */
94
+ export async function getLastScores() {
95
+ const schedule = await loadSchedule();
96
+ const result = {};
97
+ if (schedule.day1.lastRun && schedule.day1.lastScore !== undefined) {
98
+ result.day1 = { score: schedule.day1.lastScore, runAt: schedule.day1.lastRun };
99
+ }
100
+ if (schedule.day7.lastRun && schedule.day7.lastScore !== undefined) {
101
+ result.day7 = { score: schedule.day7.lastScore, runAt: schedule.day7.lastRun };
102
+ }
103
+ if (schedule.day30.lastRun && schedule.day30.lastScore !== undefined) {
104
+ result.day30 = { score: schedule.day30.lastScore, runAt: schedule.day30.lastRun };
105
+ }
106
+ return result;
107
+ }
108
+ /**
109
+ * Map period names to the --days flag value for the insights command.
110
+ */
111
+ export function getPeriodDays(period) {
112
+ switch (period) {
113
+ case 'day1': return 1;
114
+ case 'day7': return 7;
115
+ case 'day30': return 30;
116
+ }
117
+ }
118
+ export default {
119
+ loadSchedule,
120
+ saveSchedule,
121
+ checkSchedule,
122
+ recordRun,
123
+ getLastScores,
124
+ getPeriodDays,
125
+ };
126
+ //# sourceMappingURL=scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/lib/insights/scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * @fileType: types
3
+ * @status: current
4
+ * @updated: 2025-12-15
5
+ * @tags: [insights, coaching, types, cli]
6
+ * @related: [data-collector.ts, analyzers/]
7
+ * @priority: high
8
+ * @complexity: low
9
+ * @dependencies: []
10
+ */
11
+ export type InsightCategory = 'efficiency' | 'patterns' | 'quality' | 'anti-patterns';
12
+ export type InsightSeverity = 'info' | 'suggestion' | 'warning' | 'critical';
13
+ /**
14
+ * Aggregated data for insight analysis.
15
+ */
16
+ export interface InsightData {
17
+ userId: string;
18
+ projectId: string;
19
+ graphId?: string;
20
+ period: {
21
+ start: Date;
22
+ end: Date;
23
+ days: number;
24
+ };
25
+ events: EventData[];
26
+ tasks: TaskData;
27
+ commits: CommitData[];
28
+ sessions: SessionData[];
29
+ patterns: PatternData[];
30
+ gotchas: GotchaData[];
31
+ }
32
+ /**
33
+ * Event data from local JSONL or graph.
34
+ */
35
+ export interface EventData {
36
+ id: string;
37
+ category: string;
38
+ description: string;
39
+ timestamp: Date;
40
+ impact?: 'high' | 'medium' | 'low';
41
+ files?: string[];
42
+ branch?: string;
43
+ adrRefs: string[];
44
+ taskRefs: string[];
45
+ patternRefs: string[];
46
+ }
47
+ /**
48
+ * Task data from sprint files.
49
+ */
50
+ export interface TaskData {
51
+ completed: TaskInfo[];
52
+ inProgress: TaskInfo[];
53
+ abandoned: TaskInfo[];
54
+ paused: TaskInfo[];
55
+ total: number;
56
+ completionRate: number;
57
+ }
58
+ export interface TaskInfo {
59
+ id: string;
60
+ title: string;
61
+ status: 'complete' | 'in_progress' | 'todo' | 'paused';
62
+ sprintId?: string;
63
+ startedAt?: Date;
64
+ completedAt?: Date;
65
+ daysInProgress: number;
66
+ eventCount: number;
67
+ effort?: string;
68
+ priority?: string;
69
+ }
70
+ /**
71
+ * Commit data from git log.
72
+ */
73
+ export interface CommitData {
74
+ hash: string;
75
+ message: string;
76
+ timestamp: Date;
77
+ author: string;
78
+ filesChanged: number;
79
+ linesAdded: number;
80
+ linesRemoved: number;
81
+ adrRefs: string[];
82
+ taskRefs: string[];
83
+ }
84
+ /**
85
+ * Session data from session logs.
86
+ */
87
+ export interface SessionData {
88
+ id: string;
89
+ startedAt: Date;
90
+ endedAt?: Date;
91
+ durationMinutes: number;
92
+ flowState: 'cold' | 'warm' | 'hot';
93
+ eventCount: number;
94
+ hasHandoff: boolean;
95
+ contextLoadTimeMs?: number;
96
+ archiveFile?: string;
97
+ }
98
+ /**
99
+ * Pattern data from graph.
100
+ */
101
+ export interface PatternData {
102
+ id: string;
103
+ name: string;
104
+ description?: string;
105
+ usageCount: number;
106
+ confidence: 'high' | 'medium' | 'low';
107
+ createdAt?: Date;
108
+ lastUsedAt?: Date;
109
+ }
110
+ /**
111
+ * Gotcha data from graph.
112
+ */
113
+ export interface GotchaData {
114
+ id: string;
115
+ title: string;
116
+ description?: string;
117
+ severity: 'critical' | 'high' | 'medium' | 'low';
118
+ encounters: number;
119
+ resolutions: number;
120
+ lastEncounteredAt?: Date;
121
+ }
122
+ /**
123
+ * Evidence supporting an insight.
124
+ */
125
+ export interface InsightEvidence {
126
+ type: 'event' | 'task' | 'commit' | 'session' | 'pattern' | 'gotcha';
127
+ id: string;
128
+ description: string;
129
+ timestamp?: Date;
130
+ }
131
+ /**
132
+ * Raw insight from an analyzer.
133
+ */
134
+ export interface RawInsight {
135
+ category: InsightCategory;
136
+ severity: InsightSeverity;
137
+ title: string;
138
+ description: string;
139
+ metricName?: string;
140
+ metricValue?: number;
141
+ metricTarget?: number;
142
+ metricUnit?: string;
143
+ scoreImpact: number;
144
+ evidence: InsightEvidence[];
145
+ recommendations: string[];
146
+ }
147
+ /**
148
+ * Category score breakdown.
149
+ */
150
+ export interface CategoryScore {
151
+ category: InsightCategory;
152
+ score: number;
153
+ baseScore: number;
154
+ adjustments: number;
155
+ insightCount: number;
156
+ criticalCount: number;
157
+ warningCount: number;
158
+ }
159
+ /**
160
+ * Complete coaching report.
161
+ */
162
+ export interface CoachingReport {
163
+ userId: string;
164
+ projectId: string;
165
+ runAt: Date;
166
+ period: {
167
+ start: Date;
168
+ end: Date;
169
+ days: number;
170
+ };
171
+ overallScore: number;
172
+ previousScore?: number;
173
+ scoreTrend?: 'up' | 'down' | 'stable';
174
+ categoryScores: CategoryScore[];
175
+ insights: RawInsight[];
176
+ summary: string;
177
+ }
178
+ /**
179
+ * Interface for all insight analyzers.
180
+ */
181
+ export interface InsightAnalyzer {
182
+ category: InsightCategory;
183
+ analyze(data: InsightData): Promise<RawInsight[]>;
184
+ }
185
+ export interface InsightIcon {
186
+ info: '○';
187
+ suggestion: '◐';
188
+ warning: '⚠️';
189
+ critical: '🚨';
190
+ }
191
+ export interface FormattedInsight {
192
+ icon: string;
193
+ title: string;
194
+ description: string;
195
+ category: InsightCategory;
196
+ severity: InsightSeverity;
197
+ }
198
+ export interface CLIOutput {
199
+ header: {
200
+ userId: string;
201
+ projectId: string;
202
+ analysisWindow: string;
203
+ };
204
+ categories: {
205
+ name: InsightCategory;
206
+ displayName: string;
207
+ score: number;
208
+ insights: FormattedInsight[];
209
+ }[];
210
+ overall: {
211
+ score: number;
212
+ trend?: string;
213
+ trendDirection?: 'up' | 'down' | 'stable';
214
+ };
215
+ }
216
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/insights/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileType: types
3
+ * @status: current
4
+ * @updated: 2025-12-15
5
+ * @tags: [insights, coaching, types, cli]
6
+ * @related: [data-collector.ts, analyzers/]
7
+ * @priority: high
8
+ * @complexity: low
9
+ * @dependencies: []
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/insights/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -30,6 +30,7 @@ export declare class AiInstructionsTemplate {
30
30
  private static readonly ONBOARDING_INSTRUCTIONS;
31
31
  private static readonly FRONTMATTER_SECTION;
32
32
  private static readonly DEVELOPMENT_WORKFLOW;
33
+ private static readonly ENTITY_NAMING_CONVENTION;
33
34
  private static readonly CONTEXT_REFLEXES;
34
35
  private static readonly PROJECT_KNOWLEDGE_QUERIES;
35
36
  static generate(variables: TemplateVariables, modelSpecificContent?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-instructions-template.d.ts","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAkF/C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAmC3C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAkB5C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CA+BxC;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CA6DjD;IAEA,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM;IAqDpF,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC,OAAO,CAAC,MAAM,CAAC,8BAA8B;IA0C7C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAerC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAQlC"}
1
+ {"version":3,"file":"ai-instructions-template.d.ts","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAkF/C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAmC3C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAkB5C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAwChD;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAuCxC;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CA6DjD;IAEA,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM;IAuDpF,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC,OAAO,CAAC,MAAM,CAAC,8BAA8B;IA0C7C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAerC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAQlC"}
@@ -146,6 +146,47 @@ When feeling lost or sensing misalignment:
146
146
  - Reset: "What are we actually trying to achieve?"
147
147
  - Realign: Agree on clear next steps
148
148
  - Continue: Resume with fresh perspective
149
+ `;
150
+ static ENTITY_NAMING_CONVENTION = `
151
+ ## Entity Naming Convention (ADR-052)
152
+
153
+ All graph entities use a hierarchical, sortable naming convention:
154
+
155
+ ### Standard Format
156
+
157
+ | Entity | Format | Example |
158
+ |--------|--------|---------|
159
+ | Epic | \`e{NNN}\` | \`e005\` |
160
+ | Sprint | \`e{NNN}_s{NN}\` | \`e005_s01\` |
161
+ | Task | \`e{NNN}_s{NN}_t{NN}\` | \`e005_s01_t01\` |
162
+
163
+ ### Ad-hoc Work (unplanned sprints/tasks)
164
+
165
+ \`\`\`
166
+ adhoc_{YYMMDD}_s{NN}_t{NN}
167
+ \`\`\`
168
+
169
+ **Examples:**
170
+ - \`adhoc_251209_s01\` - Ad-hoc sprint created Dec 9, 2025
171
+ - \`adhoc_251209_s01_t01\` - First task in that sprint
172
+
173
+ ### When to Create Ad-hoc Tasks
174
+
175
+ Create ad-hoc tasks for:
176
+ - Bug fixes discovered mid-session
177
+ - System maintenance work
178
+ - Scope creep that needs tracking
179
+ - Exploratory work that produces artifacts
180
+
181
+ **Prompt user:** "This work is outside our current sprint. Shall I create an ad-hoc task to track it?"
182
+
183
+ ### Padding Rules
184
+
185
+ - Epics: 3 digits (max 999)
186
+ - Sprints: 2 digits (max 99 per epic)
187
+ - Tasks: 2 digits (max 99 per sprint)
188
+
189
+ **Soft limits:** Warn if sprint > 20 tasks or epic > 10 sprints.
149
190
  `;
150
191
  static CONTEXT_REFLEXES = `
151
192
  ## 🧠 Context Reflexes - Your Automatic Thought Patterns
@@ -172,6 +213,14 @@ These "mental reflexes" activate naturally without explicit prompting to maintai
172
213
  **Behavior**: Note learnings for future reference
173
214
  **Example**: "Worth remembering that Vercel functions need named exports..."
174
215
 
216
+ ### 5. "Track This Work" Reflex 📊 (ADR-052)
217
+ **Trigger**: Work begins outside current sprint scope, bug fixes emerge, system maintenance needed
218
+ **Detection**: Editing files not referenced in current task, scope expanding beyond sprint
219
+ **Action**: Prompt user to create ad-hoc task for observability
220
+ **Script**: "This work is outside our current sprint. Shall I create an ad-hoc task to track it?"
221
+ **Flow preservation**: Single lightweight question, proceed if declined (note in session log)
222
+ **Anti-pattern**: Untracked work breaks traceability for future collaborators
223
+
175
224
  ### Work Mode Sensitivity
176
225
  - **Hack & Ship**: Reflexes trigger less frequently (focus on speed)
177
226
  - **Think & Build**: Balanced reflex activity
@@ -262,6 +311,8 @@ ${this.FRONTMATTER_SECTION}
262
311
 
263
312
  ${this.DEVELOPMENT_WORKFLOW}
264
313
 
314
+ ${this.ENTITY_NAMING_CONVENTION}
315
+
265
316
  ${this.CONTEXT_REFLEXES}
266
317
 
267
318
  ${this.PROJECT_KNOWLEDGE_QUERIES}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-instructions-template.js","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-instructions-template.js","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ginkoai/cli",
3
- "version": "1.7.2",
3
+ "version": "2.0.0-beta.2",
4
4
  "description": "Git-native session management and cloud context for AI-mediated development. AI Collaboration for Vibe Tribes.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1,12 +0,0 @@
1
- /**
2
- * @fileType: test
3
- * @status: current
4
- * @updated: 2025-12-07
5
- * @tags: [test, timeout, orchestrator, epic-004-sprint5, task-6]
6
- * @related: [task-timeout.ts]
7
- * @priority: high
8
- * @complexity: medium
9
- * @dependencies: [vitest, fs-extra]
10
- */
11
- export {};
12
- //# sourceMappingURL=task-timeout.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-timeout.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/task-timeout.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}