incremnt 0.7.0 → 0.7.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.
@@ -0,0 +1,94 @@
1
+ // Append-only semantic changelog for AI prompt versions.
2
+ //
3
+ // Every value in AI_PROMPT_VERSIONS (openrouter.js) must have a matching entry
4
+ // here — enforced by prompt-changelog.test.js. A version string records THAT a
5
+ // prompt changed; this records WHAT changed and WHY, so a bump is never a silent
6
+ // edit. For `fix` and `safety` changes, reference the eval/validator that guards
7
+ // the change (`eval`), so a regression has a named tripwire.
8
+ //
9
+ // Entry shape:
10
+ // { version, surface, date (YYYY-MM-DD), type, summary, eval? }
11
+ // type: 'init' | 'fix' | 'safety' | 'tuning' | 'feature'
12
+ //
13
+ // Add new entries at the top of the array for that surface; do not rewrite
14
+ // existing entries.
15
+
16
+ export const PROMPT_CHANGELOG_TYPES = Object.freeze([
17
+ 'init',
18
+ 'fix',
19
+ 'safety',
20
+ 'tuning',
21
+ 'feature'
22
+ ]);
23
+
24
+ export const PROMPT_CHANGELOG = Object.freeze([
25
+ {
26
+ version: 'workout_v2026_05_23_1',
27
+ surface: 'workout',
28
+ date: '2026-05-23',
29
+ type: 'fix',
30
+ summary:
31
+ 'Keep skipped-exercise mentions generic unless plan comparison supports naming the lift; anchor the note to completed-session work.',
32
+ eval: 'exercise_mentions'
33
+ },
34
+ {
35
+ version: 'ask_v2026_05_23_1',
36
+ surface: 'ask',
37
+ date: '2026-05-23',
38
+ type: 'fix',
39
+ summary:
40
+ 'Carry relevant typed coach facts through explicitly (including tone preferences like concise cues); never claim one note/fact is the only relevant one; name warmups when disproving an apparent within-session drop-off.',
41
+ eval: 'ask_claims'
42
+ },
43
+ {
44
+ version: 'cycle_v2026_04_18_1',
45
+ surface: 'cycle',
46
+ date: '2026-04-18',
47
+ type: 'init',
48
+ summary: 'Cycle close-out note baseline — synthesize the week, do not restate the UI.'
49
+ },
50
+ {
51
+ version: 'vitals_v2026_04_16_1',
52
+ surface: 'vitals',
53
+ date: '2026-04-16',
54
+ type: 'init',
55
+ summary: 'Morning vitals/readiness summary baseline — interpret signals, never give medical advice.'
56
+ },
57
+ {
58
+ version: 'checkpoint_v2026_04_16_1',
59
+ surface: 'checkpoint',
60
+ date: '2026-04-16',
61
+ type: 'init',
62
+ summary: 'Mid-plan checkpoint summary baseline against e1RM targets.'
63
+ },
64
+ {
65
+ version: 'weekly_checkin_v2026_04_23_1',
66
+ surface: 'weeklyCheckin',
67
+ date: '2026-04-23',
68
+ type: 'init',
69
+ summary: 'Sunday weekly check-in ritual baseline.'
70
+ },
71
+ {
72
+ version: 'coach_commitments_v2026_04_25_1',
73
+ surface: 'coachCommitments',
74
+ date: '2026-04-25',
75
+ type: 'init',
76
+ summary: 'Coach commitment extraction baseline.'
77
+ },
78
+ {
79
+ version: 'coach_facts_v2026_04_25_1',
80
+ surface: 'coachFacts',
81
+ date: '2026-04-25',
82
+ type: 'init',
83
+ summary: 'Typed coach-fact extraction baseline.'
84
+ }
85
+ ]);
86
+
87
+ /** The most recent changelog entry per surface, by array order (newest first). */
88
+ export function latestChangelogBySurface() {
89
+ const latest = new Map();
90
+ for (const entry of PROMPT_CHANGELOG) {
91
+ if (!latest.has(entry.surface)) latest.set(entry.surface, entry);
92
+ }
93
+ return latest;
94
+ }