@samuelfaj/distill 1.4.7 → 1.4.8

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/README.md CHANGED
@@ -23,7 +23,7 @@ D inspect remotes + MR meta
23
23
  R merge/update may block w/o token
24
24
  ```
25
25
 
26
- Inline variables such as `workspace=#w3` and `version=#v1` are learned into DSL memory and reused in later prompts.
26
+ Inline variables use dynamic `<term>=#<letter><digit>` assignments chosen by the model from repeated terms. They stay thread-local unless `distill dsl learn-thread --stdin` sees the explicit variable more than 5 times; learned entries are removed when absent from the next learned thread.
27
27
 
28
28
  `/distill` also has DSL memory:
29
29
 
package/bin/distill.js CHANGED
@@ -41,23 +41,23 @@ function resolveBinaryPath() {
41
41
  process.exit(1);
42
42
  }
43
43
 
44
+ const workspaceBinaryPath = path.resolve(
45
+ __dirname,
46
+ "..",
47
+ "..",
48
+ `distill-${target}`,
49
+ "bin",
50
+ targetSpec.binaryName
51
+ );
52
+
53
+ if (fs.existsSync(workspaceBinaryPath)) {
54
+ return workspaceBinaryPath;
55
+ }
56
+
44
57
  try {
45
58
  const packageJsonPath = requireFromHere.resolve(`${targetSpec.packageName}/package.json`);
46
59
  return path.join(path.dirname(packageJsonPath), "bin", targetSpec.binaryName);
47
60
  } catch (error) {
48
- const workspaceBinaryPath = path.resolve(
49
- __dirname,
50
- "..",
51
- "..",
52
- `distill-${target}`,
53
- "bin",
54
- targetSpec.binaryName
55
- );
56
-
57
- if (fs.existsSync(workspaceBinaryPath)) {
58
- return workspaceBinaryPath;
59
- }
60
-
61
61
  console.error(
62
62
  `[distill] Missing platform package ${targetSpec.packageName}. Reinstall @samuelfaj/distill for this platform.`
63
63
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@samuelfaj/distill",
3
- "version": "1.4.7",
3
+ "version": "1.4.8",
4
4
  "description": "Compress command output for downstream LLMs.",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -16,11 +16,11 @@
16
16
  "node": ">=18"
17
17
  },
18
18
  "optionalDependencies": {
19
- "@samuelfaj/distill-darwin-arm64": "1.4.7",
20
- "@samuelfaj/distill-darwin-x64": "1.4.7",
21
- "@samuelfaj/distill-linux-arm64": "1.4.7",
22
- "@samuelfaj/distill-linux-x64": "1.4.7",
23
- "@samuelfaj/distill-win32-x64": "1.4.7"
19
+ "@samuelfaj/distill-darwin-arm64": "1.4.8",
20
+ "@samuelfaj/distill-darwin-x64": "1.4.8",
21
+ "@samuelfaj/distill-linux-arm64": "1.4.8",
22
+ "@samuelfaj/distill-linux-x64": "1.4.8",
23
+ "@samuelfaj/distill-win32-x64": "1.4.8"
24
24
  },
25
25
  "publishConfig": {
26
26
  "access": "public"
@@ -169,30 +169,32 @@ R missing token => merge blocked
169
169
 
170
170
  Every thread must use DSL/Dict when it helps compression.
171
171
  Start with `Dict:` when meanings are not already shared.
172
- Define short thread variables inline when a noun will repeat:
172
+ Define short thread variables inline when a noun repeats or is likely to repeat.
173
+ The model chooses the variables dynamically from the current task; there is no fixed variable list.
173
174
 
174
175
  ```text
175
- S npm workspace=#w3 version=#v1 sync no-op
176
- D patch=#p1 package=#p2 manifests mechanically
177
- D regen lock after #p2 manifest sync
178
- N no release tag before clean verify
176
+ S cache=#c1 warmed model=#m1
177
+ D inspect #c1 hit rate
178
+ D compare #m1 latency
179
+ N no extra vars for one-off nouns
179
180
  ```
180
181
 
181
182
  After definition, use the variable:
182
183
 
183
184
  ```text
184
- D inspect #w3 config
185
- D bump #v1 in #p2 manifests
185
+ D tune #c1 ttl
186
+ D benchmark #m1 output
186
187
  ```
187
188
 
188
189
  Rules:
189
190
 
190
- - variable key format: `#` + letter + digit, for example `#w3`
191
+ - variable key format: `#` + letter + digit
191
192
  - one stable meaning per variable inside the thread
192
193
  - do not define variables for secrets, people, IDs, paths, URLs, or one-off terms
193
194
  - do not redefine an active variable; add a new key if meaning changed
194
- - inline `#` variables are active immediately after explicit assignment
195
- - learn reusable variables with `Dict+` or transcript learning when available
195
+ - inline `#` variables are thread-local immediately after explicit assignment
196
+ - persist only variables used more than 5 times in a `distill dsl learn-thread --stdin` transcript
197
+ - remove a learned variable when it is absent from the next learned thread
196
198
 
197
199
  ## Good Response Forms
198
200