liteagents 2.14.1 → 2.15.1
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/CHANGELOG.md +25 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/packages/ampcode/commands/stash.md +19 -6
- package/packages/claude/commands/stash.md +19 -6
- package/packages/claude/plugins/live-canvas-marketplace/plugins/live-canvas-channel/package-lock.json +50 -20
- package/packages/droid/commands/stash.md +19 -6
- package/packages/opencode/command/stash.md +19 -6
- package/packages/subagentic-manual.md +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -15,6 +15,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
15
15
|
- Enhanced testing capabilities
|
|
16
16
|
- Performance optimizations
|
|
17
17
|
|
|
18
|
+
## [2.15.1] - 2026-07-24
|
|
19
|
+
|
|
20
|
+
### Security
|
|
21
|
+
|
|
22
|
+
- **Bumped the bundled `live-canvas-channel` plugin's transitive deps to patched versions.** `fast-uri` 3.1.2 → 3.1.4 (clears a **high**-severity host-confusion advisory), `body-parser` 2.2.2 → 2.3.0 (DoS via a silently-disabled size limit), and `hono` 4.12.25 → 4.12.31 (moderate). These come in via the plugin's `@modelcontextprotocol/sdk` and ship in the tarball's `package-lock.json`. All sit on unused transport paths — the plugin server is stdio (`StdioServerTransport`) + raw `node:http`, with no `@hono/node-server`/express/Streamable-HTTP surface — so this is defense-in-depth hardening of the bundled lockfile, not a runtime fix. `npm audit` in the plugin drops from 4 findings (incl. 1 high) to 1 residual moderate (`@hono/node-server` serve-static), which is gated on the MCP SDK's own dependency range and has no upstream fix yet. 138 root tests green.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- **Publish workflow pinned to `npm@11` — npm 12.0.0's `npm publish --provenance` is broken.** The job ran `npm install -g npm@latest`, which started resolving to npm 12.0.0 (released 2026-07-09) on the Node 22 runner. npm 12's `libnpmpublish` provenance code does `require('sigstore')`, but the tarball bundles only the `@sigstore/*` scoped packages — so `--provenance` dies with `MODULE_NOT_FOUND` and the publish fails outright. npm@11 bundles `sigstore` and publishes fine. Pinned to the major rather than floating on `@latest`. Revisit once npm ships a provenance fix. CI only — no runtime or published-artifact change.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- **Agent/IDE scratch is gitignored and de-tracked (`.claude/`, `.litectx/`, `.idea/`).** Per-machine agent and IDE state is no part of the package — it regenerates locally and only added noise and churn. Now ignored, and any already-committed copies removed from tracking (local files kept on disk). Functional dot-paths (`.github/`, `.gitignore`, `.npmignore`, `.mcp.json`) stay tracked. Repo hygiene only.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## [2.15.0] - 2026-07-13
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- `/stash` delegates the write-up to a mid-tier-model subagent, dispatched in the background
|
|
38
|
+
where the tool supports it, instead of writing inline on the top-tier session model —
|
|
39
|
+
drafting stays inline (only the running session has conversation context), but formatting
|
|
40
|
+
and file I/O move off the main turn. Falls back to inline writing if subagent/background
|
|
41
|
+
dispatch isn't available.
|
|
42
|
+
|
|
18
43
|
---
|
|
19
44
|
|
|
20
45
|
## [2.14.1] - 2026-07-10
|
package/README.md
CHANGED
|
@@ -80,7 +80,7 @@ Liteagents ships a two-command pipeline that turns Claude Code's session logs in
|
|
|
80
80
|
capture analyze + consolidate
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
- **`/stash`** — snapshot the current session's context before compaction or handoff; nudges you to consolidate once a few stashes pile up
|
|
83
|
+
- **`/stash`** — snapshot the current session's context before compaction or handoff; nudges you to consolidate once a few stashes pile up. The write-up runs on a mid-tier model, dispatched as a background subagent where your tool supports it, so the session isn't blocked on formatting/file I/O
|
|
84
84
|
- **`/remember`** — runs friction analysis automatically (mining JSONL session logs across *all* your projects for frustration signals, failed flows, and abandonment patterns, clustered into antigen candidates), then consolidates stashes + friction antigens into `.claude/remember/MEMORY.md`; auto-injected into `CLAUDE.md` via `@MEMORY.md` so every future session benefits. Per-stash extraction runs as concurrent subagent calls on a mid-tier model — no model name hardcoded, so it works with whatever your tool has configured
|
|
85
85
|
|
|
86
86
|
`/remember` also bootstraps a one-time `AGENT_RULES.md` coding-standards template into `.claude/remember/` on first run (never overwritten again after that), referenced separately in `CLAUDE.md` for the assistant to consult when building something new — a static guide, not something the pipeline learns or extracts.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "liteagents",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.15.1",
|
|
4
4
|
"description": "AI development toolkit with 11 specialized agents and 17 commands including live-canvas UI design with click-to-annotate feedback. Simple one-question installer for Claude, Opencode, Ampcode, and Droid.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -10,14 +10,25 @@ Save session context for compaction recovery or handoffs.
|
|
|
10
10
|
**Guardrails**
|
|
11
11
|
- Favor straightforward, minimal implementations first and add complexity only when requested or clearly required.
|
|
12
12
|
- Keep changes tightly scoped to the requested outcome.
|
|
13
|
+
- **Mid-tier model, not hardcoded.** The write-up subagent (step 2) uses a mid-tier model —
|
|
14
|
+
capable of semantic judgment, cheaper/faster than your top reasoning tier (e.g. Claude's
|
|
15
|
+
Sonnet vs Opus). Use whatever your tool designates as that balanced default; never hardcode
|
|
16
|
+
a vendor-specific model name.
|
|
17
|
+
- **Background dispatch where supported.** Run the write-up subagent in the background
|
|
18
|
+
(non-blocking) so the session isn't held up waiting on formatting/file I/O. Fall back to
|
|
19
|
+
writing inline (today's behavior) if your tool has no subagent or background-dispatch
|
|
20
|
+
mechanism.
|
|
13
21
|
|
|
14
22
|
**What it does**
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
1. Drafts a compact brief of current conversation context, key decisions, active work in
|
|
24
|
+
progress, and findings/insights — done inline, since only the running session holds full
|
|
25
|
+
conversation context
|
|
26
|
+
2. Hands the brief to a subagent on the mid-tier model (see Guardrails) to expand into the
|
|
27
|
+
full stash file at `.amp/stash/<name>.md`, dispatched in the background where the tool
|
|
28
|
+
supports it. Falls back to writing inline if subagent/background dispatch isn't available
|
|
29
|
+
3. Enables context restoration after compaction
|
|
30
|
+
4. **Consolidation nudge** — whichever actor wrote the file (the subagent, or the session
|
|
31
|
+
itself on the inline fallback) counts the unprocessed backlog after saving:
|
|
21
32
|
`unprocessed = (files in .amp/stash/*.md) − (entries in .amp/remember/.processed)`
|
|
22
33
|
(a missing `.processed` manifest means 0 processed). If `unprocessed >= 5`, end with one line:
|
|
23
34
|
> 📝 N stashes since last consolidation — run `/remember` to fold them into memory.
|
|
@@ -50,3 +61,5 @@ cat .amp/stash/<name>.md
|
|
|
50
61
|
- Stashes stored in `.amp/stash/` (project-local)
|
|
51
62
|
- Automatically includes: timestamp, active plan, recent decisions
|
|
52
63
|
- Maximum context retention with minimal token usage
|
|
64
|
+
- When dispatched in the background, the "Stashed to X" confirmation and consolidation nudge
|
|
65
|
+
arrive as the subagent's completion notification rather than inline in the same turn
|
|
@@ -10,14 +10,25 @@ Save session context for compaction recovery or handoffs.
|
|
|
10
10
|
**Guardrails**
|
|
11
11
|
- Favor straightforward, minimal implementations first and add complexity only when requested or clearly required.
|
|
12
12
|
- Keep changes tightly scoped to the requested outcome.
|
|
13
|
+
- **Mid-tier model, not hardcoded.** The write-up subagent (step 2) uses a mid-tier model —
|
|
14
|
+
capable of semantic judgment, cheaper/faster than your top reasoning tier (e.g. Claude's
|
|
15
|
+
Sonnet vs Opus). Use whatever your tool designates as that balanced default; never hardcode
|
|
16
|
+
a vendor-specific model name.
|
|
17
|
+
- **Background dispatch where supported.** Run the write-up subagent in the background
|
|
18
|
+
(non-blocking) so the session isn't held up waiting on formatting/file I/O. Fall back to
|
|
19
|
+
writing inline (today's behavior) if your tool has no subagent or background-dispatch
|
|
20
|
+
mechanism.
|
|
13
21
|
|
|
14
22
|
**What it does**
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
1. Drafts a compact brief of current conversation context, key decisions, active work in
|
|
24
|
+
progress, and findings/insights — done inline, since only the running session holds full
|
|
25
|
+
conversation context
|
|
26
|
+
2. Hands the brief to a subagent on the mid-tier model (see Guardrails) to expand into the
|
|
27
|
+
full stash file at `.claude/stash/<name>.md`, dispatched in the background where the tool
|
|
28
|
+
supports it. Falls back to writing inline if subagent/background dispatch isn't available
|
|
29
|
+
3. Enables context restoration after compaction
|
|
30
|
+
4. **Consolidation nudge** — whichever actor wrote the file (the subagent, or the session
|
|
31
|
+
itself on the inline fallback) counts the unprocessed backlog after saving:
|
|
21
32
|
`unprocessed = (files in .claude/stash/*.md) − (entries in .claude/remember/.processed)`
|
|
22
33
|
(a missing `.processed` manifest means 0 processed). If `unprocessed >= 5`, end with one line:
|
|
23
34
|
> 📝 N stashes since last consolidation — run `/remember` to fold them into memory.
|
|
@@ -50,3 +61,5 @@ cat .claude/stash/<name>.md
|
|
|
50
61
|
- Stashes stored in `.claude/stash/` (project-local)
|
|
51
62
|
- Automatically includes: timestamp, active plan, recent decisions
|
|
52
63
|
- Maximum context retention with minimal token usage
|
|
64
|
+
- When dispatched in the background, the "Stashed to X" confirmation and consolidation nudge
|
|
65
|
+
arrive as the subagent's completion notification rather than inline in the same turn
|
|
@@ -114,21 +114,34 @@
|
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
"node_modules/body-parser": {
|
|
117
|
-
"version": "2.
|
|
118
|
-
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.
|
|
119
|
-
"integrity": "sha512-
|
|
117
|
+
"version": "2.3.0",
|
|
118
|
+
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
|
|
119
|
+
"integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==",
|
|
120
120
|
"license": "MIT",
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"bytes": "^3.1.2",
|
|
123
|
-
"content-type": "^
|
|
123
|
+
"content-type": "^2.0.0",
|
|
124
124
|
"debug": "^4.4.3",
|
|
125
|
-
"http-errors": "^2.0.
|
|
126
|
-
"iconv-lite": "^0.7.
|
|
125
|
+
"http-errors": "^2.0.1",
|
|
126
|
+
"iconv-lite": "^0.7.2",
|
|
127
127
|
"on-finished": "^2.4.1",
|
|
128
|
-
"qs": "^6.
|
|
129
|
-
"raw-body": "^3.0.
|
|
130
|
-
"type-is": "^2.0
|
|
128
|
+
"qs": "^6.15.2",
|
|
129
|
+
"raw-body": "^3.0.2",
|
|
130
|
+
"type-is": "^2.1.0"
|
|
131
|
+
},
|
|
132
|
+
"engines": {
|
|
133
|
+
"node": ">=18"
|
|
131
134
|
},
|
|
135
|
+
"funding": {
|
|
136
|
+
"type": "opencollective",
|
|
137
|
+
"url": "https://opencollective.com/express"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"node_modules/body-parser/node_modules/content-type": {
|
|
141
|
+
"version": "2.0.0",
|
|
142
|
+
"resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz",
|
|
143
|
+
"integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==",
|
|
144
|
+
"license": "MIT",
|
|
132
145
|
"engines": {
|
|
133
146
|
"node": ">=18"
|
|
134
147
|
},
|
|
@@ -435,9 +448,9 @@
|
|
|
435
448
|
"license": "MIT"
|
|
436
449
|
},
|
|
437
450
|
"node_modules/fast-uri": {
|
|
438
|
-
"version": "3.1.
|
|
439
|
-
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.
|
|
440
|
-
"integrity": "sha512-
|
|
451
|
+
"version": "3.1.4",
|
|
452
|
+
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.4.tgz",
|
|
453
|
+
"integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==",
|
|
441
454
|
"funding": [
|
|
442
455
|
{
|
|
443
456
|
"type": "github",
|
|
@@ -572,9 +585,9 @@
|
|
|
572
585
|
}
|
|
573
586
|
},
|
|
574
587
|
"node_modules/hono": {
|
|
575
|
-
"version": "4.12.
|
|
576
|
-
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.
|
|
577
|
-
"integrity": "sha512-
|
|
588
|
+
"version": "4.12.31",
|
|
589
|
+
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.31.tgz",
|
|
590
|
+
"integrity": "sha512-zJIHFrl6bq3RDd2YusFNCDlM8qUprxKswyi/OPzPyzKDdyBXDqWx8bZlZ7R+saTdSTatUmb3O7K4SspGPaEOQg==",
|
|
578
591
|
"license": "MIT",
|
|
579
592
|
"engines": {
|
|
580
593
|
"node": ">=16.9.0"
|
|
@@ -1068,17 +1081,34 @@
|
|
|
1068
1081
|
}
|
|
1069
1082
|
},
|
|
1070
1083
|
"node_modules/type-is": {
|
|
1071
|
-
"version": "2.0
|
|
1072
|
-
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.
|
|
1073
|
-
"integrity": "sha512-
|
|
1084
|
+
"version": "2.1.0",
|
|
1085
|
+
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
|
|
1086
|
+
"integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
|
|
1074
1087
|
"license": "MIT",
|
|
1075
1088
|
"dependencies": {
|
|
1076
|
-
"content-type": "^
|
|
1089
|
+
"content-type": "^2.0.0",
|
|
1077
1090
|
"media-typer": "^1.1.0",
|
|
1078
1091
|
"mime-types": "^3.0.0"
|
|
1079
1092
|
},
|
|
1080
1093
|
"engines": {
|
|
1081
|
-
"node": ">=
|
|
1094
|
+
"node": ">= 18"
|
|
1095
|
+
},
|
|
1096
|
+
"funding": {
|
|
1097
|
+
"type": "opencollective",
|
|
1098
|
+
"url": "https://opencollective.com/express"
|
|
1099
|
+
}
|
|
1100
|
+
},
|
|
1101
|
+
"node_modules/type-is/node_modules/content-type": {
|
|
1102
|
+
"version": "2.0.0",
|
|
1103
|
+
"resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz",
|
|
1104
|
+
"integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==",
|
|
1105
|
+
"license": "MIT",
|
|
1106
|
+
"engines": {
|
|
1107
|
+
"node": ">=18"
|
|
1108
|
+
},
|
|
1109
|
+
"funding": {
|
|
1110
|
+
"type": "opencollective",
|
|
1111
|
+
"url": "https://opencollective.com/express"
|
|
1082
1112
|
}
|
|
1083
1113
|
},
|
|
1084
1114
|
"node_modules/unpipe": {
|
|
@@ -10,14 +10,25 @@ Save session context for compaction recovery or handoffs.
|
|
|
10
10
|
**Guardrails**
|
|
11
11
|
- Favor straightforward, minimal implementations first and add complexity only when requested or clearly required.
|
|
12
12
|
- Keep changes tightly scoped to the requested outcome.
|
|
13
|
+
- **Mid-tier model, not hardcoded.** The write-up subagent (step 2) uses a mid-tier model —
|
|
14
|
+
capable of semantic judgment, cheaper/faster than your top reasoning tier (e.g. Claude's
|
|
15
|
+
Sonnet vs Opus). Use whatever your tool designates as that balanced default; never hardcode
|
|
16
|
+
a vendor-specific model name.
|
|
17
|
+
- **Background dispatch where supported.** Run the write-up subagent in the background
|
|
18
|
+
(non-blocking) so the session isn't held up waiting on formatting/file I/O. Fall back to
|
|
19
|
+
writing inline (today's behavior) if your tool has no subagent or background-dispatch
|
|
20
|
+
mechanism.
|
|
13
21
|
|
|
14
22
|
**What it does**
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
1. Drafts a compact brief of current conversation context, key decisions, active work in
|
|
24
|
+
progress, and findings/insights — done inline, since only the running session holds full
|
|
25
|
+
conversation context
|
|
26
|
+
2. Hands the brief to a subagent on the mid-tier model (see Guardrails) to expand into the
|
|
27
|
+
full stash file at `.factory/stash/<name>.md`, dispatched in the background where the tool
|
|
28
|
+
supports it. Falls back to writing inline if subagent/background dispatch isn't available
|
|
29
|
+
3. Enables context restoration after compaction
|
|
30
|
+
4. **Consolidation nudge** — whichever actor wrote the file (the subagent, or the session
|
|
31
|
+
itself on the inline fallback) counts the unprocessed backlog after saving:
|
|
21
32
|
`unprocessed = (files in .factory/stash/*.md) − (entries in .factory/remember/.processed)`
|
|
22
33
|
(a missing `.processed` manifest means 0 processed). If `unprocessed >= 5`, end with one line:
|
|
23
34
|
> 📝 N stashes since last consolidation — run `/remember` to fold them into memory.
|
|
@@ -50,3 +61,5 @@ cat .factory/stash/<name>.md
|
|
|
50
61
|
- Stashes stored in `.factory/stash/` (project-local)
|
|
51
62
|
- Automatically includes: timestamp, active plan, recent decisions
|
|
52
63
|
- Maximum context retention with minimal token usage
|
|
64
|
+
- When dispatched in the background, the "Stashed to X" confirmation and consolidation nudge
|
|
65
|
+
arrive as the subagent's completion notification rather than inline in the same turn
|
|
@@ -10,14 +10,25 @@ Save session context for compaction recovery or handoffs.
|
|
|
10
10
|
**Guardrails**
|
|
11
11
|
- Favor straightforward, minimal implementations first and add complexity only when requested or clearly required.
|
|
12
12
|
- Keep changes tightly scoped to the requested outcome.
|
|
13
|
+
- **Mid-tier model, not hardcoded.** The write-up subagent (step 2) uses a mid-tier model —
|
|
14
|
+
capable of semantic judgment, cheaper/faster than your top reasoning tier (e.g. Claude's
|
|
15
|
+
Sonnet vs Opus). Use whatever your tool designates as that balanced default; never hardcode
|
|
16
|
+
a vendor-specific model name.
|
|
17
|
+
- **Background dispatch where supported.** Run the write-up subagent in the background
|
|
18
|
+
(non-blocking) so the session isn't held up waiting on formatting/file I/O. Fall back to
|
|
19
|
+
writing inline (today's behavior) if your tool has no subagent or background-dispatch
|
|
20
|
+
mechanism.
|
|
13
21
|
|
|
14
22
|
**What it does**
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
1. Drafts a compact brief of current conversation context, key decisions, active work in
|
|
24
|
+
progress, and findings/insights — done inline, since only the running session holds full
|
|
25
|
+
conversation context
|
|
26
|
+
2. Hands the brief to a subagent on the mid-tier model (see Guardrails) to expand into the
|
|
27
|
+
full stash file at `.opencode/stash/<name>.md`, dispatched in the background where the tool
|
|
28
|
+
supports it. Falls back to writing inline if subagent/background dispatch isn't available
|
|
29
|
+
3. Enables context restoration after compaction
|
|
30
|
+
4. **Consolidation nudge** — whichever actor wrote the file (the subagent, or the session
|
|
31
|
+
itself on the inline fallback) counts the unprocessed backlog after saving:
|
|
21
32
|
`unprocessed = (files in .opencode/stash/*.md) − (entries in .opencode/remember/.processed)`
|
|
22
33
|
(a missing `.processed` manifest means 0 processed). If `unprocessed >= 5`, end with one line:
|
|
23
34
|
> 📝 N stashes since last consolidation — run `/remember` to fold them into memory.
|
|
@@ -50,3 +61,5 @@ cat .opencode/stash/<name>.md
|
|
|
50
61
|
- Stashes stored in `.opencode/stash/` (project-local)
|
|
51
62
|
- Automatically includes: timestamp, active plan, recent decisions
|
|
52
63
|
- Maximum context retention with minimal token usage
|
|
64
|
+
- When dispatched in the background, the "Stashed to X" confirmation and consolidation nudge
|
|
65
|
+
arrive as the subagent's completion notification rather than inline in the same turn
|
|
@@ -156,7 +156,10 @@ and wiring the memory into your agent config file.
|
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
1. **`/stash`** - Snapshot current session context to the tool's `…/stash/`. Use before
|
|
159
|
-
compaction, handoffs, or ending complex work.
|
|
159
|
+
compaction, handoffs, or ending complex work. The session drafts the raw content inline
|
|
160
|
+
(only it holds conversation context), then a mid-tier-model subagent expands and writes the
|
|
161
|
+
file — dispatched in the background where the tool supports it, falling back to writing
|
|
162
|
+
inline otherwise. Whichever actor wrote the file counts the unprocessed backlog
|
|
160
163
|
(`stash files − .processed entries`) and, at 5+, nudges you to run `/remember`. No counter is
|
|
161
164
|
stored; running `/remember` clears the backlog.
|
|
162
165
|
2. **`/remember`** - Runs friction analysis first (best-effort — scores sessions across *all* your
|