@tuned-tensor/cli 0.13.0-beta.1 → 0.13.1-beta.0
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 +89 -32
- package/dist/{chunk-2VJ3VVZF.js → chunk-YJYCGSHJ.js} +537 -536
- package/dist/chunk-YJYCGSHJ.js.map +1 -0
- package/dist/index.js +499 -554
- package/dist/index.js.map +1 -1
- package/dist/local-runtime.js +39 -10
- package/dist/local-runtime.js.map +1 -1
- package/docs/local-runtime/architecture.md +6 -5
- package/docs/local-runtime/spark.md +23 -17
- package/package.json +1 -1
- package/training/local-runner/src/evaluate.py +4 -1
- package/training/local-runner/src/model_contract.py +5 -3
- package/training/local-runner/src/serve.py +1 -1
- package/dist/chunk-2VJ3VVZF.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,19 +8,57 @@
|
|
|
8
8
|
|
|
9
9
|
## Cloud sunset
|
|
10
10
|
|
|
11
|
-
This release unregisters the hosted API commands (`tt auth`, `tt
|
|
12
|
-
`tt balance`, `tt topup`, `tt cloud`, and the rest of the managed
|
|
13
|
-
modules remain in the repository so they can be restored later.
|
|
14
|
-
is kept as a hidden alias; new scripts should call `tt run`,
|
|
15
|
-
`tt runs list`, and so on directly.
|
|
11
|
+
This release unregisters the hosted API commands (`tt auth`, `tt publish`,
|
|
12
|
+
`tt push`, `tt balance`, `tt topup`, `tt cloud`, and the rest of the managed
|
|
13
|
+
tree). The modules remain in the repository so they can be restored later.
|
|
14
|
+
`tt local …` is kept as a hidden alias; new scripts should call `tt run`,
|
|
15
|
+
`tt doctor`, `tt runs list`, and so on directly.
|
|
16
|
+
|
|
17
|
+
## Migrating from 0.11
|
|
18
|
+
|
|
19
|
+
`0.13` is the local-only CLI. If you are coming from `0.11.0`:
|
|
20
|
+
|
|
21
|
+
- Call `tt run`, `tt doctor`, and `tt serve` at the root. `tt local …` still
|
|
22
|
+
works as a hidden alias.
|
|
23
|
+
- Hosted account commands (`tt auth`, `tt publish`, `tt push`, and the rest)
|
|
24
|
+
are unregistered.
|
|
25
|
+
- `Qwen/Qwen3.5-2B` is pinned to Hugging Face snapshot
|
|
26
|
+
`15852e8c16360a2fea060d615a32b45270f8a8fc`. Prefetch, train, eval, and serve
|
|
27
|
+
reject any other revision.
|
|
28
|
+
- `tt serve active` fails unless an adapter is activated. Activation requires
|
|
29
|
+
a `generalRegression` suite in `local-runner.json`.
|
|
30
|
+
- `tt info` reports `status: local`.
|
|
16
31
|
|
|
17
32
|
## Install
|
|
18
33
|
|
|
34
|
+
On Linux or macOS:
|
|
35
|
+
|
|
19
36
|
```bash
|
|
20
|
-
|
|
37
|
+
curl -fsSL https://tunedtensor.com/install.sh | sh
|
|
21
38
|
tt --version
|
|
22
39
|
```
|
|
23
40
|
|
|
41
|
+
The installer bootstraps Node.js 22.19+ if needed, installs
|
|
42
|
+
`@tuned-tensor/cli` with npm `--ignore-scripts`, and falls back to
|
|
43
|
+
`~/.local` when the global npm prefix is not writable. Inspect it first
|
|
44
|
+
with `curl -fsSL https://tunedtensor.com/install.sh | less`. Pin a
|
|
45
|
+
dist-tag or version on `sh`, not `curl`:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
curl -fsSL https://tunedtensor.com/install.sh | TT_VERSION=beta sh
|
|
49
|
+
curl -fsSL https://tunedtensor.com/install.sh | TT_VERSION=0.13.0 sh
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Or install the package directly:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm install -g --ignore-scripts @tuned-tensor/cli
|
|
56
|
+
tt --version
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Uninstall with `npm uninstall -g @tuned-tensor/cli` (add
|
|
60
|
+
`--prefix ~/.local` if the curl installer used that prefix).
|
|
61
|
+
|
|
24
62
|
Node.js 22.19.0 or newer is required. Local training additionally needs
|
|
25
63
|
[`uv`](https://docs.astral.sh/uv/) and a supported NVIDIA CUDA host; the locked
|
|
26
64
|
Python runner ships with the npm package and is prepared on first use.
|
|
@@ -41,33 +79,41 @@ The interactive agent harness and conversation state run on your laptop.
|
|
|
41
79
|
Inference runs through the provider/model you select, which may be a
|
|
42
80
|
local endpoint or a remote provider.
|
|
43
81
|
|
|
44
|
-
`tt`
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
Then inspect and select a provider/model:
|
|
82
|
+
Run `tt` to open one terminal for conversation and commands. Workflow commands
|
|
83
|
+
such as `runs list` and `doctor` work immediately. Chat waits until you choose
|
|
84
|
+
a provider and model from inside the shell:
|
|
48
85
|
|
|
49
|
-
```
|
|
50
|
-
tt
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```
|
|
86
|
+
```text
|
|
87
|
+
tt v0.13.1-beta.0
|
|
88
|
+
agent not configured · workflow model base
|
|
89
|
+
ctrl+c stop/clear · ctrl+d exit · /help commands · tab complete
|
|
54
90
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
91
|
+
Use /model to choose a provider and model. Workflow commands work now.
|
|
92
|
+
› /model
|
|
93
|
+
› /login openai
|
|
94
|
+
› /model openai
|
|
95
|
+
› /model openai/gpt-5.6-sol
|
|
96
|
+
```
|
|
60
97
|
|
|
61
|
-
|
|
62
|
-
|
|
98
|
+
Use `/login` to save a provider API key. The shell asks which provider, then
|
|
99
|
+
prompts for the key with hidden input and stores it under TT's local agent
|
|
100
|
+
config. `/login <provider>` skips the provider prompt.
|
|
101
|
+
`tt` does not accept provider secrets as flags and does not read
|
|
102
|
+
`~/.pi/agent/`. `/model` and `/login` show OpenAI and OpenRouter.
|
|
103
|
+
Other catalog providers remain available if you type their id.
|
|
104
|
+
Unauthenticated entries are marked `auth required`. Local endpoints such as
|
|
105
|
+
Ollama still need a placeholder `apiKey` in `models.json`.
|
|
63
106
|
|
|
64
107
|
Before the shell opens, `tt` performs a short, non-blocking npm version check.
|
|
65
108
|
If a newer stable release is available it recommends
|
|
66
109
|
`npm install -g @tuned-tensor/cli@latest`; offline or unavailable registry
|
|
67
110
|
checks are ignored.
|
|
68
111
|
|
|
112
|
+
After a model is selected, the banner shows it and ordinary sentences go to
|
|
113
|
+
the agent:
|
|
114
|
+
|
|
69
115
|
```text
|
|
70
|
-
tt v0.13.
|
|
116
|
+
tt v0.13.1-beta.0
|
|
71
117
|
agent anthropic/claude-sonnet-4-5 · workflow model base
|
|
72
118
|
ctrl+c stop/clear · ctrl+d exit · /help commands · tab complete
|
|
73
119
|
|
|
@@ -100,16 +146,24 @@ is bound to the current workspace so changing directories before approval fails
|
|
|
100
146
|
safely instead of writing somewhere else. Ambiguous write failures remain
|
|
101
147
|
sealed as `outcome_unknown` for manual inspection. `/reject` never mutates.
|
|
102
148
|
|
|
103
|
-
Useful shell controls include `/help`, `/status`, `/context`, `/model`,
|
|
104
|
-
`/clear`, and `/exit`.
|
|
149
|
+
Useful shell controls include `/help`, `/status`, `/context`, `/model`,
|
|
150
|
+
`/login`, `/cd`, `/clear`, and `/exit`.
|
|
105
151
|
The shell banner and `/context` surface the assistant's configured provider and
|
|
106
152
|
model (`agent provider/model`) separately from the workflow model, so the
|
|
107
153
|
model answering your prompts is always visible. `/model` shows and changes the
|
|
108
|
-
laptop-local TT agent model: run it with no arguments
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
`/model
|
|
112
|
-
|
|
154
|
+
laptop-local TT agent model: run it with no arguments to list providers and the
|
|
155
|
+
two suggested models (GPT-5.6 Sol and DeepSeek V4 Flash), `/model <provider>`
|
|
156
|
+
to list that provider's models, search
|
|
157
|
+
with `/model <query>` (only the closest matches are shown), or switch with
|
|
158
|
+
`/model <provider>/<model>` (for example `/model anthropic/claude-sonnet-4-5`).
|
|
159
|
+
`/login` asks which provider to authenticate, then prompts for that provider's
|
|
160
|
+
API key with hidden input. `/login <provider>` skips the provider prompt.
|
|
161
|
+
The equivalent non-interactive commands are `tt agent models`,
|
|
162
|
+
`tt agent configure`, and `tt agent status`.
|
|
163
|
+
`tt agent configure --thinking` accepts `off`, `minimal`, `low`, `medium`,
|
|
164
|
+
`high`, `xhigh`, or `max`. Selection metadata can be overridden per process with
|
|
165
|
+
`TUNED_TENSOR_AGENT_PROVIDER`, `TUNED_TENSOR_AGENT_MODEL`, and
|
|
166
|
+
`TUNED_TENSOR_AGENT_THINKING`. These values are not credentials.
|
|
113
167
|
The shell keeps normal terminal scrollback and command history only for the
|
|
114
168
|
current process.
|
|
115
169
|
|
|
@@ -173,7 +227,8 @@ tt models verify local-<run-id>
|
|
|
173
227
|
tt models serve local-<run-id> --config local-runner.json
|
|
174
228
|
```
|
|
175
229
|
|
|
176
|
-
Local currently certifies text SFT with `Qwen/Qwen3.5-2B
|
|
230
|
+
Local currently certifies text SFT with `Qwen/Qwen3.5-2B` (pinned to snapshot
|
|
231
|
+
`15852e8c16360a2fea060d615a32b45270f8a8fc`),
|
|
177
232
|
`nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16`, and
|
|
178
233
|
`meta-models/Muse-Glimmer-30B`, using LoRA/PEFT and CUDA. The 30B/3B-active
|
|
179
234
|
Nemotron path is intended for DGX Spark-class unified memory, uses activation
|
|
@@ -184,7 +239,9 @@ vision tower frozen and unused. Evaluation and serving may use CPU. Training
|
|
|
184
239
|
artifacts, datasets, and model weights remain on the execution host.
|
|
185
240
|
|
|
186
241
|
Activation is optional and requires the run to pass a configured
|
|
187
|
-
`generalRegression` gate.
|
|
242
|
+
`generalRegression` gate. Without that suite, `tt models activate` fails
|
|
243
|
+
closed. `tt serve active` also fails closed if nothing is activated — it does
|
|
244
|
+
not silently serve the protected base model. Once activated, use
|
|
188
245
|
`tt serve active --config local-runner.json`.
|
|
189
246
|
|
|
190
247
|
`tt serve base` does not automatically inject the adjacent project spec.
|