|
| 1 | +# 1.0 RC tool comparison: first Haiku pilot |
| 2 | + |
| 3 | +The three shared task goals passed on both versions. Across this small pilot, |
| 4 | +the 1.0 catalog used **57.5% fewer agent tokens** and **three tool calls versus |
| 5 | +five**. Treat this as pilot evidence; repeated runs and broader task/model |
| 6 | +coverage remain necessary for a release recommendation. |
| 7 | + |
| 8 | +| Task goal | v0.24.1 tokens | 1.0 RC tokens | v0.24.1 calls | 1.0 RC calls | |
| 9 | +| --- | ---: | ---: | ---: | ---: | |
| 10 | +| List one folder | 44,294 | 22,575 | 1 | 1 | |
| 11 | +| Read by title | 42,534 | 20,801 | 1 | 1 | |
| 12 | +| Write at an exact path | 65,014 | 21,108 | 3 | 1 | |
| 13 | +| Total | 151,842 | 64,484 | 5 | 3 | |
| 14 | + |
| 15 | +Tokens per completed task: **50,614 → 21,494.7**. Counts include all reported |
| 16 | +agent input/output tokens. All tool calls conformed to their advertised schemas; |
| 17 | +there were no tool errors or model/harness errors in these funded runs. |
| 18 | + |
| 19 | +The legacy write used `write_note`, `move_note`, then `read_note`. The 1.0 write |
| 20 | +used `bm_write`. Both produced the required file, frontmatter and observation, |
| 21 | +preserving existing notes. The legacy write stopped on the token budget before |
| 22 | +a final assistant reply; its file-state goal still passed. The 60,000-token |
| 23 | +budget is checked before each model call, so a call can overshoot it (65,014 |
| 24 | +tokens here). The other five tasks ended with final replies. The new read/list |
| 25 | +graders require a successful matching tool call as well as the correct answer. |
| 26 | + |
| 27 | +## Reproducibility |
| 28 | + |
| 29 | +- Baseline: v0.24.1, `1d0e09b6f4876c3f339c30e8dbfcf66e59e2c356`. |
| 30 | +- Candidate: main/1.0 RC, `0884e204d84ac9d18124ad78601a80925643f901`. |
| 31 | +- Harness: `9e4d2beb550b7741882946a18967e1b2db8bf072`. |
| 32 | +- Model requested and returned: `claude-haiku-5-5`, Anthropic's OpenAI-compatible endpoint. |
| 33 | +- Temperature omitted; eight turns and 60,000 pre-call tokens per task; 180-second task budget. |
| 34 | +- Full catalogs: 27 legacy tools versus 12 bm tools, alphabetical schema order. |
| 35 | +- Fresh isolated project/corpus per task, same prompts and deterministic graders. |
| 36 | +- Product-default semantic settings on both products; SQLite; no Redis configuration. |
| 37 | +- Corpus: 25 notes, SHA-256 `b91f5fe80849e2774b860b0b4a59d678eff2820201029570ed716fac9df12884`. |
| 38 | +- Task specs: SHA-256 `985923496748505e8f3246aaf320343031fc922cd7ade07f1e3e9da68510ed28`. |
| 39 | + |
| 40 | +Raw manifests include every tool schema/description supplied to the model. |
| 41 | +Per-turn artifacts retain returned model IDs, tokens, calls, result sizes and |
| 42 | +error information. Supplementary `product-runtime.json` files record target |
| 43 | +Python, installed package versions and lock hashes; both products use Python |
| 44 | +3.14.8. `pilot-input.py` retains the local runner without credentials. |
| 45 | + |
| 46 | +Run artifacts, relative to the Core repository: |
| 47 | + |
| 48 | +- `benchmarks/benchmarks/runs/release-haiku55-pilot-legacy-02/` |
| 49 | +- `benchmarks/benchmarks/runs/release-haiku55-pilot-bm-02/` |
| 50 | + |
| 51 | +The earlier legacy `-01` attempt contains billing-rejected model-error rows and |
| 52 | +is excluded from this comparison. Host contention affected this session, so |
| 53 | +timing conclusions require the separate controlled performance workload. |
| 54 | + |
| 55 | +## Scripted mutation verification |
| 56 | + |
| 57 | +All **20** real-MCP mutation checks passed: ten goals on each product. They cover |
| 58 | +append, prepend, exact replacement, section replacement, before/after-section |
| 59 | +insertion, metadata-only change, move, delete and stale-checksum refusal. |
| 60 | +Each expected mutation was checked against the resulting files; unrelated notes |
| 61 | +remained byte-identical. Body comparisons preserve exact nonblank lines in |
| 62 | +order and ignore blank-line layout. Both stale-checksum calls produced an |
| 63 | +actual conflict refusal and left all note bytes unchanged. |
| 64 | + |
| 65 | +These are plumbing/correctness checks using scripted inputs, with embeddings |
| 66 | +explicitly disabled. Their canned answers and fake token counts are excluded |
| 67 | +from the real-model token comparison above. Artifacts: |
| 68 | + |
| 69 | +- `benchmarks/benchmarks/runs/release-mutation-legacy-01/` |
| 70 | +- `benchmarks/benchmarks/runs/release-mutation-bm-01/` |
0 commit comments