reasonix 0.0.5 → 0.2.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 CHANGED
@@ -58,13 +58,38 @@ actually stays byte-stable.
58
58
 
59
59
  ## Validated numbers
60
60
 
61
- Measured on live DeepSeek API:
61
+ **τ-bench-lite** 8 multi-turn tool-use tasks, same tools / same prompt
62
+ on both sides, sole variable is prefix stability. Measured on live
63
+ DeepSeek `deepseek-chat`:
62
64
 
63
- | scenario | model | turns | cache hit | cost | Claude 4.6 would be | savings |
64
- |---|---|---|---|---|---|---|
65
- | Chinese multi-turn chat | `deepseek-chat` | 5 | **85.2%** | $0.000923 | $0.015174 | **93.9%** |
66
- | Tool-use (calculator) | `deepseek-chat` | 2 | **94.9%** | $0.000142 | $0.003351 | **95.8%** |
67
- | R1 math + harvest | `deepseek-reasoner` | 1 | 72.7% | $0.006478 | $0.044484 | 85.4% |
65
+ | metric | baseline (cache-hostile) | Reasonix | delta |
66
+ |---|---:|---:|---:|
67
+ | runs | 8 | 8 | |
68
+ | **cache hit** | 43.9% | **94.3%** | **+50.3pp** |
69
+ | cost / task | $0.002783 | $0.001621 | **−42% (×0.58)** |
70
+ | vs Claude Sonnet 4.6 (token-count estimate) | — | — | **~96% cheaper** |
71
+ | pass rate | 100% (8/8) | 88% (7/8) | 1 refusal-task predicate too strict (see [report.md][r]) |
72
+
73
+ **Verify it yourself — no API key, zero cost:**
74
+
75
+ ```bash
76
+ git clone https://github.com/esengine/reasonix.git && cd reasonix && npm install
77
+ npx reasonix replay benchmarks/tau-bench/transcripts/t01_address_happy.reasonix.r1.jsonl
78
+ npx reasonix diff \
79
+ benchmarks/tau-bench/transcripts/t01_address_happy.baseline.r1.jsonl \
80
+ benchmarks/tau-bench/transcripts/t01_address_happy.reasonix.r1.jsonl
81
+ ```
82
+
83
+ The JSONL transcripts committed in `benchmarks/tau-bench/transcripts/`
84
+ carry per-turn `usage`, `cost`, and `prefixHash`. Reasonix's prefix hash
85
+ stays byte-stable across every model call; baseline's prefix churns on
86
+ every turn. The cache delta is *mechanically* attributable to log
87
+ stability, not to a different system prompt.
88
+
89
+ Full 16-run report: [`benchmarks/tau-bench/report.md`][r]. Reproduce
90
+ with your own API key: `npx tsx benchmarks/tau-bench/runner.ts`.
91
+
92
+ [r]: ./benchmarks/tau-bench/report.md
68
93
 
69
94
  ---
70
95
 
@@ -73,11 +98,20 @@ Measured on live DeepSeek API:
73
98
  ### CLI
74
99
 
75
100
  ```bash
76
- npx reasonix chat # just chat everything else is inside
101
+ npx reasonix chat # auto-saves to session 'default'; resumes next time
102
+ npx reasonix chat --session work # use a different named session
103
+ npx reasonix chat --no-session # ephemeral — nothing persisted
77
104
  npx reasonix run "ask anything" # one-shot, streams to stdout
78
- npx reasonix stats session.jsonl # read back a saved transcript
105
+ npx reasonix stats session.jsonl # quick summary of a transcript
106
+ npx reasonix replay chat.jsonl # pretty-print a transcript + rebuild cost/cache offline
107
+ npx reasonix diff a.jsonl b.jsonl --md diff.md # compare two transcripts: cache/cost delta + first divergence
79
108
  ```
80
109
 
110
+ Sessions live as JSONL under `~/.reasonix/sessions/<name>.jsonl` — every
111
+ turn's message log is appended atomically, so killing the CLI never loses
112
+ context. Inside the TUI: `/sessions` to list, `/forget` to delete the
113
+ current one.
114
+
81
115
  ### Inside the chat — slash commands
82
116
 
83
117
  A command strip runs under the input box so you don't have to memorize