@samuelfaj/distill 1.4.7 → 1.4.9
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 +1 -1
- package/bin/distill.js +13 -13
- package/package.json +6 -6
- package/skills/distill/SKILL.md +18 -10
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
|
|
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.
|
|
3
|
+
"version": "1.4.9",
|
|
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.
|
|
20
|
-
"@samuelfaj/distill-darwin-x64": "1.4.
|
|
21
|
-
"@samuelfaj/distill-linux-arm64": "1.4.
|
|
22
|
-
"@samuelfaj/distill-linux-x64": "1.4.
|
|
23
|
-
"@samuelfaj/distill-win32-x64": "1.4.
|
|
19
|
+
"@samuelfaj/distill-darwin-arm64": "1.4.9",
|
|
20
|
+
"@samuelfaj/distill-darwin-x64": "1.4.9",
|
|
21
|
+
"@samuelfaj/distill-linux-arm64": "1.4.9",
|
|
22
|
+
"@samuelfaj/distill-linux-x64": "1.4.9",
|
|
23
|
+
"@samuelfaj/distill-win32-x64": "1.4.9"
|
|
24
24
|
},
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public"
|
package/skills/distill/SKILL.md
CHANGED
|
@@ -169,30 +169,38 @@ 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
|
|
172
|
+
Define short thread variables inline when a stable noun/phrase appears 2+ times or is likely to repeat across status lines.
|
|
173
|
+
Prefer variables for repeated project nouns, package nouns, component names, workflow names, and repeated technical objects.
|
|
174
|
+
The model chooses the variables dynamically from the current task; there is no fixed variable list.
|
|
175
|
+
At each new response, update `Dict:` only with newly introduced variables.
|
|
176
|
+
Do not repeat variables already defined earlier in the thread or already present in known DSL memory.
|
|
177
|
+
If the response introduces no new variable, omit `Dict:` instead of restating old definitions.
|
|
178
|
+
After defining any `Dict` alias or inline variable, run a substitution pass: every later safe occurrence of that meaning must use the alias/key.
|
|
179
|
+
Keep the full term only when exact spelling is required for a model ID, package name, path, URL, quoted text, or disambiguation.
|
|
173
180
|
|
|
174
181
|
```text
|
|
175
|
-
S
|
|
176
|
-
D
|
|
177
|
-
D
|
|
178
|
-
N no
|
|
182
|
+
S cache=#c1 warmed model=#m1
|
|
183
|
+
D inspect #c1 hit rate
|
|
184
|
+
D compare #m1 latency
|
|
185
|
+
N no extra vars for one-off nouns
|
|
179
186
|
```
|
|
180
187
|
|
|
181
188
|
After definition, use the variable:
|
|
182
189
|
|
|
183
190
|
```text
|
|
184
|
-
D
|
|
185
|
-
D
|
|
191
|
+
D tune #c1 ttl
|
|
192
|
+
D benchmark #m1 output
|
|
186
193
|
```
|
|
187
194
|
|
|
188
195
|
Rules:
|
|
189
196
|
|
|
190
|
-
- variable key format: `#` + letter + digit
|
|
197
|
+
- variable key format: `#` + letter + digit
|
|
191
198
|
- one stable meaning per variable inside the thread
|
|
192
199
|
- do not define variables for secrets, people, IDs, paths, URLs, or one-off terms
|
|
193
200
|
- do not redefine an active variable; add a new key if meaning changed
|
|
194
|
-
- inline `#` variables are
|
|
195
|
-
-
|
|
201
|
+
- inline `#` variables are thread-local immediately after explicit assignment
|
|
202
|
+
- persist only variables used more than 5 times in a `distill dsl learn-thread --stdin` transcript
|
|
203
|
+
- remove a learned variable when it is absent from the next learned thread
|
|
196
204
|
|
|
197
205
|
## Good Response Forms
|
|
198
206
|
|