You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [1.4.0] - 2026-02-22
11
+
12
+
### Changed
13
+
-**Starter scar penalty doubled** (0.7x → 0.4x): Earned scars now decisively outrank starter scars in recall and search results. 6 community reports of starter scars drowning out project-specific lessons.
14
+
-**Display protocol footer trimmed**: Removed the "Success: You echoed..." line from the display suffix — reduced noise without losing the echo instruction.
15
+
-**First-recall message rewritten**: Replaced patronizing welcome text with actionable nudge: "No project-specific lessons yet. Use create_learning to capture your first."
16
+
-**Session close description simplified**: Tool descriptions now clearly present two modes (inline params or payload file) instead of demanding the file-first approach.
17
+
18
+
### Added
19
+
-**Thread positional resolve (`#N`)**: `resolve_thread` now accepts `#3` to resolve the 3rd thread in display order. Matches the `#` column shown by `list_threads`.
20
+
-**Thread ID column in list_threads**: Thread table now shows short IDs (e.g., `t-24aefd13`) alongside positional numbers — agents can reference by either.
21
+
-**Provenance `[starter]` tag**: Recall and search results now annotate starter scars with a dim `[starter]` tag, so agents can distinguish earned vs bundled lessons.
22
+
-**Inline `closing_reflection` parameter**: `session_close` schema now exposes `closing_reflection` and `human_corrections` as direct parameters — no payload file needed for simple closes.
23
+
24
+
### Fixed
25
+
-**`log` tool missing `anti_pattern` type**: TypeScript type for `learning_type` filter excluded `"anti_pattern"`, causing type errors when filtering by anti-patterns.
Copy file name to clipboardExpand all lines: src/tools/definitions.ts
+27-3Lines changed: 27 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -176,7 +176,7 @@ export const TOOLS = [
176
176
},
177
177
{
178
178
name: "session_close",
179
-
description: "Persist session with compliance validation. IMPORTANT: Before calling this tool, write all heavy payload data (closing_reflection, human_corrections, scars_to_record, open_threads, decisions, learnings_created) to {gitmem_dir}/closing-payload.json using your file write tool — the gitmem_dir path is returned by session_start (also shown in session start display as 'Payload path'). Then call this tool with ONLY session_id and close_type. The tool reads the payload file automatically and deletes it after processing. task_completion is auto-generated from closing_reflection timestamps and human_corrections — do NOT write it to the payload. DISPLAY: The result includes a pre-formatted 'display' field. Output the display field verbatim as your response — tool results are collapsed in the CLI.",
179
+
description: "Persist session with compliance validation. Two modes: (1) Write closing_reflection and other payload to {gitmem_dir}/closing-payload.json, then call with session_id + close_type. (2) Pass closing_reflection directly as a parameter (simpler). Both work — inline params override file payload. task_completion is auto-generated. DISPLAY: Output the display field verbatim.",
180
180
inputSchema: {
181
181
type: "object"asconst,
182
182
properties: {
@@ -189,6 +189,14 @@ export const TOOLS = [
189
189
enum: ["standard","quick","autonomous"],
190
190
description: "Type of close (standard requires full reflection)",
description: "gitmem-sc (session_close) - Close session with compliance validation. IMPORTANT: Write all heavy payload data (closing_reflection, task_completion, human_corrections, scars_to_record, open_threads, decisions, learnings_created) to {gitmem_dir}/closing-payload.json BEFORE calling this tool — gitmem_dir is from session_start. Only pass session_id and close_type inline. DISPLAY: The result includes a pre-formatted 'display' field. Output the display field verbatim as your response — tool results are collapsed in the CLI.",
935
+
description: "gitmem-sc (session_close) - Close session. Two modes: (1) Write payload to closing-payload.json first, or (2) pass closing_reflection directly as param. Both work.",
928
936
inputSchema: {
929
937
type: "object"asconst,
930
938
properties: {
@@ -937,6 +945,14 @@ export const TOOLS = [
937
945
enum: ["standard","quick","autonomous"],
938
946
description: "Type of close (standard requires full reflection)",
939
947
},
948
+
closing_reflection: {
949
+
type: "object",
950
+
description: "Session reflection (alternative to writing closing-payload.json)",
951
+
},
952
+
human_corrections: {
953
+
type: "string",
954
+
description: "Human corrections or 'none'",
955
+
},
940
956
linear_issue: {
941
957
type: "string",
942
958
description: "Associated Linear issue",
@@ -1605,7 +1621,7 @@ export const TOOLS = [
1605
1621
},
1606
1622
{
1607
1623
name: "gm-close",
1608
-
description: "gm-close (session_close) - Close a GitMem session. IMPORTANT: Write all heavy payload data (closing_reflection, task_completion, human_corrections, scars_to_record, open_threads, decisions, learnings_created) to {gitmem_dir}/closing-payload.json BEFORE calling this tool — gitmem_dir is from session_start. Only pass session_id and close_type inline. DISPLAY: The result includes a pre-formatted 'display' field. Output the display field verbatim as your response — tool results are collapsed in the CLI.",
1624
+
description: "gm-close (session_close) - Close session. Pass closing_reflection directly or write to closing-payload.json first.",
1609
1625
inputSchema: {
1610
1626
type: "object"asconst,
1611
1627
properties: {
@@ -1618,6 +1634,14 @@ export const TOOLS = [
1618
1634
enum: ["standard","quick","autonomous"],
1619
1635
description: "Type of close (standard requires full reflection)",
1620
1636
},
1637
+
closing_reflection: {
1638
+
type: "object",
1639
+
description: "Session reflection (alternative to writing closing-payload.json)",
0 commit comments