# Session Transcript (English Translation): Sibyl Memory Quality Review and Competitive Benchmark Assessment

- **Date**: 2026-06-10
- **Participants**: Cloud (user), Claude Code (assistant)
- **Context**: working session in `sibyl-docker-sandbox`, reviewing all memory quality test runs and the competitive benchmarks (Honcho, Mem0, Hindsight, Mnemosyne). User messages are presented in English with their casual tone preserved. This session produced the report `run-2026-06-10-memory-quality-competitive-benchmark-report.md` sent earlier today.

---

## Cloud

> ok look at all the tests that have been done and tell me if the plugin is good on memory quality

## Claude

Overall verdict: **yes, the plugin is solid on core memory quality, but only with its complete retrieval strategy (planner + fallback). Raw natural-language search, on its own, is weak.** Here is what the ~80 test reports say.

### What is very good

**Writes and retention: near perfect.**
- 42,000 writes across 200 companies / 180 days: 42000/42000, exact recall verified after restart, zero loss.
- Chronology (1,152 writes, 120 days): 8/8 checks, 40/40 milestones.
- Dense 10x and Scale 10x on the paid tier: 100% of writes (up to 11,520), all checks pass. The free-tier failures are just the 2 MB cap, not a quality problem.

**Mega-corpus benchmark (the most compelling test).**
- 250 questions over 42k records: baseline 243/250, then **248/250 with the hybrid exact fallback**, and **250/250 after repair** of the last 2 failures (which were date formatting, not memory).
- Comparison against Honcho on the same corpus: Sibyl 243/250 (97.2%) vs Honcho 214/250 (85.6%), with 4.5x less context and 4x lower cost ($0.44 vs $1.83).

**Robustness at scale (the late-May mcp-run series).** Runs 16-17 had revealed a search collapse at high density (16% and 11% pass rates at 450-770 entities). The agent-side repair resolver fixed everything: runs 25 through 29 = **100% pass, recall 1.00, zero hallucination, up to 100 companies / 1,520 entities**. The write infrastructure never failed (always 100%).

**Natural understanding via the Sonnet planner.** Role paraphrases ("the cook"), unseen time phrasings ("fifteen minutes to ten"): 20/20 and 15/15, where the deterministic planner scores 0/20. All 4 hackathon go/no-go gates are GO, with ~98% token savings vs full context.

### The real weaknesses

1. **Raw natural-language search is a total failure without the planner**: 0/32 on the "non-canonical business memory" test, 0/10 on the retrieval go/no-go. Everything reaches 100% with the state fallback, but that means the plugin is only good when the planner layer is active.
2. **Product Update Suite: only 3/7.** Vague current-state queries (new owner, current priority, paraphrased buried details) do not surface in direct search. Same root cause as point 1.
3. **Self-learning unguarded** (Track 4): 10 poisoned proposals accepted with no safeguard. Not a recall quality issue, but a memory integrity risk.
4. **Ambiguous queries** ("Who owns this now?"): 0 results instead of asking for clarification (NEEDS_UX_PATCHES verdict from UX round 2).
5. **Symlink isolation**: 6 failures out of 31 in the isolation/migration suite (one HOME can write into another profile's database via symlink).

### In summary

On the core promise (memorize faithfully, retain at scale, recall exactly, at low cost), the tests are excellent: 100% post-repair on 42k records and clearly ahead of Honcho. The condition is using the complete retrieval path (Sonnet planner + exact-entity/state fallback + repair resolver). In pure natural-language search, without that layer, quality collapses. The known remaining work: anti-poisoning safeguards for self-learning, ambiguity detection in UX, and the HIGH finding from the June 9 audit (silent overwrite of corrupted config, outside memory quality).

---

## Cloud

> and against the competitors, what do you think of the benchmarks?

## Claude

Here is my opinion after reading the Honcho report and the script that generated it (`05-honcho-baseline-runner.py`). In short: the benchmark is honestly built and transparent, but it is a home game against a single competitor, so I would not sell it as proof of general superiority.

### What is methodologically solid

- **True 1:1 on the key variables**: same 42k-record corpus, same 250 questions, same Sonnet 4.6 at temperature 0, same scoring function (substring matching applied identically to both), and Honcho got the same follow-up repair mechanism as Sibyl. That is clean.
- **Full transparency**: per-question raw results preserved, the 31 Honcho failures documented with context samples, reproducible script published in the folder. Everything can be re-verified.
- **The result is plausible**: the Honcho failures shown are real (it surfaces stale status snapshots, day 140 or 170 instead of 180, and confuses companies on segments).

### The biases that put the score in perspective

1. **Home field.** The corpus is generated by the Sibyl team, in Sibyl's data format (JSON records with entity/state/journal tiers and markers). Honcho is designed to ingest conversational messages; here it is fed structured JSON blobs designed for Sibyl's model. That mechanically favors Sibyl.

2. **The "status" test is won by construction.** The corpus rewrites the same status record every 10 days under the same key. Sibyl has a last-write-wins "state" tier, so it necessarily returns the current version. Honcho receives 18 duplicated snapshots in append-only storage and its search cannot know which one is the latest. Honcho's 8 status failures measure a data-model difference, not retrieval quality. It is a real product argument, but it is not "Honcho misses what Sibyl finds."

3. **Canonical queries only.** All retrieval queries use the exact name ("Chrono Company 018 current status"). That is precisely the regime where Sibyl excels. Yet your own tests show Sibyl scores 0/32 on raw natural-language queries without the planner. The non-canonical suite was never run against Honcho: the benchmark compares the two systems on the terrain most favorable to Sibyl.

4. **`time.sleep(3)` after ingestion** (line 659 of the runner). Honcho builds its representations asynchronously; 3 seconds after 42,000 records, it may very well have been queried before it finished digesting. The code comment half-admits it. That is the point that would most weaken the result against a counter-argument from Honcho.

5. **n=1 competitor, n=1 run.** No Mem0, Zep, Letta, not even a naive embedding RAG baseline to situate the two. And no standard public benchmark (LongMemEval, LoCoMo) that would allow an externally verifiable comparison. A single run, no variance.

### My verdict

The "Sibyl 97% vs Honcho 86%, 4.5x less context, 4x cheaper" number is defensible internally and as a demo (the cost/token part is in fact the most robust argument of the lot). But as it stands, a competitor or a technical customer could take it apart in 10 minutes on points 1 through 4.

If the goal is a credible public claim, three things would change everything: run a public benchmark like LongMemEval (comparison on neutral ground nobody controls), add Mem0 or Zep as a second arm, and rerun Honcho with a generous ingestion delay to close the sleep(3) objection. The three-arm pitch (no memory / full context / planner+Sibyl at 1/12th the cost) remains your best argument because it depends on no competitor.

---

## Cloud

> there were other competitors: mnemosyne, hindsight and mem0

## Claude

I now have the full picture: 4 competitors tested (Honcho, Mem0, Hindsight, Mnemosyne) on the Scale365 benchmark (500 companies, 191,000 records, 365 days, 350 questions across 7 categories). Here are the numbers, then my opinion.

### The raw results

| System | Retrieval | Sonnet answers | Avg ctx tokens | LLM cost | Ingestion |
|---|---:|---:|---:|---:|---:|
| **Sibyl** | 350/350 (100%) | 344/350 (98%) | 228 | $0.64 | 48 s |
| Hindsight | 152/350 (43%) | 152/350 | 11,892 | $18.68 | 98 min |
| Mem0 | 92/350 (26%) | 105/350 | 1,720 | $2.76 | 92 min |
| Mnemosyne | 5/350 (1.4%) | 55/350 | 1,662 | $2.78 | 6 h 12 |

The gap is crushing. But precisely: when a benchmark yields 100% against 1.4%, the question is no longer "who wins" but "what did we actually compare". And there I have two serious reservations and one strong point.

### Reservation 1: Sibyl plays with its brain, the competitors without theirs

This is the central bias. The Sibyl report says explicitly: "Retrieval strategy: app-side hybrid exact fallback **by question intent**". So Sibyl benefits from its smart routing layer, the very one without which your own internal tests put it at 0/32 in raw natural search. Meanwhile:

- **Mem0** runs with `infer=False`, so without LLM extraction, which is precisely its core value proposition
- **Hindsight** runs with `provider=none` and consolidation disabled, so in skeleton mode
- **Mnemosyne** runs with `fts_weight=1.0, vec_weight=0.0`, that is pure lexical search, vectors cut. Its 1.4% is guaranteed by that config, not by the product

There is a defensible logic behind it (comparing zero-cost ingestion modes, like Sibyl), but the outcome is asymmetric: Sibyl with its optimized harness against deliberately crippled competitors. The irony is that Mnemosyne in pure FTS looks exactly like what Sibyl would be without its planner.

### Reservation 2: still home-field data and format

Same points as for Honcho, amplified: synthetic corpus in Sibyl's data format, canonical questions with exact names, and the 48-second ingestion versus hours is explained by Sibyl writing its own format natively while the others must embed 191k JSON records that do not resemble their natural input (conversations).

### What is solid, however

- **The efficiency argument is unassailable**: 228 context tokens versus 1,700 to 12,000, $0.64 versus $2.76 to $18.68, and near-instant local ingestion. That depends on no contestable setting, it is architectural (local SQLite + key-value state vs embedding pipelines).
- The methodology has become professional: 7 categories including negative traps, identical scoring everywhere, raw results preserved, scripts attached to the emails. Reproducible.
- The documented competitor failure modes are instructive (Hindsight perfect on milestones/markers but 2% on status, all at 0% on context_stat).

### My verdict

Four competitors instead of one is real progress, and the directional conclusion holds: on structured state memory at scale, Sibyl's architecture is objectively better suited and radically cheaper. But the "100% vs 26-43%" is not publishable as is: a Mem0 engineer would answer in one line "you disabled infer and our extraction, obviously". To make these numbers bulletproof, you would need to rerun each competitor in its recommended config (Mem0 `infer=True`, Hindsight with provider and consolidation, Mnemosyne in hybrid), grant everyone the same intent-routing harness or nobody, and add a neutral public benchmark like LongMemEval. The cost/token claim, on the other hand, can be published right now; it is the most defensible of the lot.

---

## Cloud

> ok if for mem0 I set infer=true what would the run cost be?

## Claude

I can price it from the existing run data. The parameters that matter: 191,000 records to ingest, ~215 tokens per record (measured in the run: 1,720 tokens for 8 context rows), batch of 64 in the runner, and the LLM configured in the script which is `gpt-5-mini` (line 316, unused so far since `infer=False`).

### The cost mechanism with `infer=True`

Each `memory.add()` triggers 2 LLM calls: a fact-extraction call (the entire batch content goes through as input), then an update-decision call (ADD/UPDATE/DELETE) that includes the similar existing memories. The incompressible floor: the corpus's ~41M tokens (191k × 215) must pass through the LLM at least once.

Estimate per batched call (64 records, so ~2,984 ingestion calls):
- Extraction: ~14k input tokens (system prompt + 64 records), ~2-3k output (the extracted facts)
- Update: ~12k input (facts + retrieved similar memories), ~2-4k output

So in total roughly **75-80M input tokens and 13-15M output** for the full ingestion.

### Cost by model

| Extraction model | Input | Output | Estimated ingestion cost |
|---|---:|---:|---:|
| gpt-5-mini (current script config) | ~78M × $0.25/M | ~14M × $2/M | **~$45-50** |
| Haiku 4.5 ($1/$5) | $78 | $70 | ~$150 |
| Sonnet 4.6 ($3/$15) | $234 | $210 | ~$445 |

If ingestion is done record by record instead of batch 64 (which is what Mem0 does by default in conversational use), the repeated system-prompt overhead pushes gpt-5-mini toward **$90-100**. So remember: **roughly $50 to $100 with gpt-5-mini**, compared to the current $0 and the $0.64 of the full Sibyl run. The unchanged answer cost (~$2.76) comes on top.

Time is the other price to pay: ~3,000 to 382,000 LLM calls depending on batching. The `infer=False` ingestion already took 92 minutes; with `infer=True` we are talking 8 to 25 hours batched, potentially several days one by one.

### Important warning before launching that

There is no guarantee that `infer=True` improves the score, and it could even degrade it on this specific benchmark. The scoring relies on exact substring matching (`expected_contains`), including markers like `scale10chronocompany018day170`. Mem0's LLM extraction paraphrases and condenses: it risks rewriting or discarding those exact strings, the ISO dates, and the segments. The marker and context_stat categories could drop instead of rising.

My advice if you want to close the "you disabled infer" objection at minimal cost: first launch a `infer=True` smoke run on 10 companies (~3,800 records, ~$1-2 with gpt-5-mini, ~30 min) to measure whether extraction preserves the markers and whether the score moves. That tells you for $2 whether the full $50-100 run is worth it.

---

## Cloud

> no, no need, the answer is in the numbers! who is going to pay $500???

## Claude

Exactly, and that is in fact the real result of the benchmark. The "you disabled infer" objection defeats itself: for Mem0 to play with its intelligence enabled on this corpus, you must pay $50 to $100 in gpt-5-mini, ~$445 at Sonnet quality, plus 8 to 25 hours of ingestion. Sibyl does the same job in 48 seconds for $0, locally.

And it is not a one-shot cost: it is per ingested corpus, and it repeats with every massive memory update. At the scale of a product with thousands of users, the "LLM extraction at write time" architecture simply does not hold economically against local structured writes.

So I would reframe the pitch like this: no need to rerun Mem0 with `infer=True` to prove anything. Just add one line in the comparison report: "Mem0 tested with `infer=False` because `infer=True` mode would cost $50-450 and 8-25h of ingestion on this corpus, versus $0 and 48s for Sibyl. That is precisely the architectural problem Sibyl solves." You turn the benchmark's methodological weakness into a selling point, and it is factual, verifiable, quantified.

The only reservation from my previous analysis that still stands is the intent-routing harness on Sibyl's side and the canonical queries. That, a competitor can still attack. But on cost, the case is closed: nobody pays $500 to ingest what a local SQLite does for free.

---

## Cloud

> Hindsight runs with provider=none and consolidation disabled, so in skeleton mode
> - Mnemosyne runs with fts_weight=1.0, vec_weight=0.0, that is pure lexical search, vectors cut. Its 1.4% is guaranteed by that config, not by the product. And is it the case that we would have higher costs there too?

## Claude

Confirmed in the scripts. And the answer is different for the two, which matters for your argument.

### Hindsight: yes, same cost trap as Mem0

The script runs with `llm_provider="none"` and `enable_observations=False`. Re-enabling that means passing the 191k records (~41M tokens) through an LLM during `retain` to generate observations and consolidation. It is structurally the same mechanism as Mem0's `infer=True`:

- **~$40-100 with a mini model, ~$400+ at Sonnet quality**, plus hours of ingestion on top of the current 98 minutes
- And the bill would be even steeper in use: Hindsight already pulls 12k context tokens per query ($18.68 for the answer run, 7x Mem0). With consolidation enabled, you pay at write time AND at read time

So for Hindsight as for Mem0, the "nobody pays that" argument holds perfectly.

### Mnemosyne: no, and that is the flaw in your benchmark

There are two distinct switches in the script:

1. `extract=False, extract_entities=False` at ingestion: that is LLM extraction, same cost as Mem0 if enabled ($50-450). The cost argument applies.
2. `vec_weight=0.0` at search time: that is just **vector search**, and embeddings cost almost nothing. With a local embedder: $0, only compute time. Via API (text-embedding-3-small at $0.02/M): **under $1 for the whole corpus**.

In other words, Mnemosyne's 1.4% is not protected by the economic argument. Anyone can rerun Mnemosyne in FTS+vector hybrid for roughly zero dollars and get a much better score. It is the only one of the four benchmarks where the crippling config is not justified by cost.

### What I conclude for the case file

- **Mem0 and Hindsight**: case closed by the numbers. Their "smart" mode costs $50-450 per ingestion where Sibyl does $0 in 48s. That is the architectural argument, own it in one line in the report.
- **Mnemosyne**: I would redo that run with hybrid `vec_weight` (for example 0.5/0.5) before any publication. It costs ~$0 and a few hours of machine time. If Mnemosyne climbs back to 30-50%, Sibyl is still far ahead and your benchmark becomes unassailable. If you publish the 1.4% as is, that is the number a competitor will pick to discredit the whole series.

---

## Cloud

> yes, a few hours of machine! a few hours!!!! it took 6h last time!!!

## Claude

You are right, and it is even worse than that: the 6h12 of Mnemosyne ingestion was WITHOUT embeddings. (Verified: the last run's database was written to `/tmp/run-2026-06-07-...` and nothing is left; a full disk scan found no `mnemosyne.db` anywhere. So rerunning Mnemosyne in hybrid means re-ingesting.) But before discarding the idea, three things.

**First, flip the problem: the 6h12 is a benchmark result, not an obstacle.** Mnemosyne is the slow one, not your protocol. At 50 companies it ingested in 13 minutes; at 500 it explodes to 6h12 (28x slower for 10x more data). Put that line in the comparison table: ingestion 48 seconds for Sibyl, 92 min for Mem0, 98 min for Hindsight, 6h12 for Mnemosyne. That is a selling point in itself.

**Second, you do not need to pay the 6h again to close the objection.** The 50c run costs ~13 minutes of ingestion (plus embedding, say 30-45 min total). Just relaunch the 50c in hybrid `fts/vec 0.5/0.5`:

- If Mnemosyne goes from 12% to 40-60% at 50c, you know FTS-only was indeed the cause, you publish the 500c with a note "pure FTS config, hybrid mode improves at small scale but 500c ingestion takes 6h+" and everything is transparent
- If it stays under 20% even in hybrid at 50c, your 1.4% becomes defensible as is and you have nothing left to prove

**Finally, if you ever really want the 500c hybrid: it launches in the evening and runs by itself.** It is 6-8h of machine time, not 6h of your time. Nothing forces you to do it before sharing the results; the transparency note is more than enough.

My recommendation: the ~45-minute 50c hybrid smoke run, and that is it. It is the best credibility-to-effort ratio in the whole series.

---

## Cloud

> ok write a report on all of this in English to send by email to the team

## Claude

Email sent to the team (sibyl@sibyllabs.org, message_id `19eafb3cb4baf14c`), through the same channel as the previous comparison emails.

What was produced:

- **The full report**: `runs/run-2026-06-10-memory-quality-competitive-benchmark-report.md`, in English, attached to the email. It covers 6 sections: executive summary, internal memory quality results (strengths and 6 known weaknesses), tables of the 4 competitive benchmarks, critical methodology assessment, cost analysis (Mem0 infer=True at $50-450, Hindsight the same, Mnemosyne at ~$0 which is the real flaw), and the 6 prioritized recommendations.
- **The email body**: a readable summary restating the verdict ("the product is the retrieval stack, not the bare search"), the key numbers, and the recommended order of action (publish the cost claim now, rerun Mnemosyne 50c hybrid before any publication of the 1.4%, per-competitor disclosure lines, fix the Honcho sleep(3), one neutral public benchmark).
- **The traceability artifact**: `runs/run-2026-06-10-memory-quality-report-email.json` and the script `scripts/send_memory_quality_report.py`, following the pattern of previous sends.

Nothing is committed, as agreed.

---

## Cloud

> so for me we did honest comparisons close to the real user

## Claude

Honest, yes. Close to the real user, halfway, and we need to be precise about that nuance because that is exactly where a competitor will attack.

**Where you are right.** The scoring is identical for everyone, the raw results and scripts are published, nothing is rigged. And there is a real "real user" argument on cost: your persona is someone who wants free local memory at ingestion. For that persona, comparing the $0 modes is legitimate, because no real user pays $50-450 to ingest their history. Sibyl was also tested as shipped, full stack included. All of that is defensible.

**Where the phrase does not hold.** "Close to the real user" backfires on two points:

1. **The competitor configs are not what a real user runs.** Mem0's default is `infer=True`: that is what a real Mem0 user executes by following the README. Same for Hindsight with an LLM provider, and for Mnemosyne in hybrid (and that one is free to enable). So the benchmark compares Sibyl in real mode against competitors in a mode their real users do not use. The honest defense is the economic argument, not the "real user" argument.
2. **The queries are not what a real user asks.** A real user asks "who handles this client again?", not "Chrono Company 018 current status". Your own UX tests show it: on the 5 realistic ambiguous queries, 0 hits. The benchmark tests canonical queries, which is the terrain most favorable to Sibyl and the least representative of real use.

**The phrasing I would defend publicly**: "comparison under equal operating conditions (zero ingestion cost, local), identical scoring, published scripts". That is accurate, verifiable, and nobody can take it apart. "Close to the real user", if you write it, someone will pull out Mem0's `infer=True` default and your 0/32 on natural queries, and the credibility of the whole series takes a hit.

So keep the conviction, change the label.

---

## Cloud

> yes but look at the natural-language answers, surely the oracle is too strict???

## Claude

Hypothesis verified in the raw results, and the answer is no: the oracle has nothing to do with the natural-language failures. However, you are right on another front; I will get to it.

### What the raw data says

I classified every failure into two categories: "zero rows returned" (retrieval problem) vs "rows returned but rejected by scoring" (oracle problem).

| Run | Natural failures | Zero hits | Hits rejected by the oracle |
|---|---:|---:|---:|
| Non-canonical business memory (raw natural) | 32 | **32** | **0** |
| Hackathon retrieval go/no-go (natural variant) | 10 | **10** | **0** |
| UX round 2 (5 ambiguous queries) | 5 | **5** | 0 |

47 failures out of 47 are literal zero hits. The FTS search returned nothing at all: there was nothing to score, so no oracle strictness can explain those zeros. The cause is lexical: a question like "Who runs Orion Foods these days?" contains words ("runs", "these days") that do not exist in the records, and FTS requires the terms to be present. That is exactly the gap the planner fills (the same questions pass at 100% once reformulated into a structured query).

### Where your intuition is right, though

The oracle **is** too strict on the answer side, not the retrieval side:

- The 2 failures of the mega run were prose dates ("July 3rd, 2026") rejected because the oracle demanded the ISO "2026-07-03". Correct retrieval, substantively correct answer, zero score. The follow-up repair recovered them: 250/250.
- The 6 temporal_topic failures of the Scale365 Sonnet run (344/350) are most likely of the same type. If you want, I can verify them in the raw result in 2 minutes; if it is formatting, your true quality score is ~350/350 and that deserves a note in the report.

### Conclusion for the argument

Do not defend natural language with "the oracle is too strict"; the raw results contradict you and anyone can verify it. The correct and true defense is: "raw lexical search is not the product; the product includes the planner, and with it the same natural questions go from 0% to 100%". And keep the strict-oracle argument for the answers, where it plays in your favor: your published scores are floors, not ceilings.

---

## Cloud

> ok so these planner tests were also done with the competitors, so the scoring stays coherent when you put everything end to end

## Claude

No, and here I have to stop you, because I just read the Scale365 harness code and it is more asymmetric than I thought. Two distinct things your sentence merges.

### 1. The Sonnet planner was never tested with the competitors

The planner tests (hackathon, non-canonical) are Sibyl-only runs. No competitor ever received natural questions reformulated by a planner. The competitor benchmarks use pre-written canonical `retrieval_query` strings ("Chrono Company 018 current status day 365"), identical for everyone. So "the planner tests were also done with the competitors" is factually false.

### 2. In Scale365, Sibyl does not even search: it reads exact keys

This is the hard point. Look at `hybrid_context()` in `run_sibyl_365d_500c_category_benchmark.py` (lines 452-490):

- For a `status_company_018` question, the harness parses the case ID, derives the slug, and calls `get_state("run365-current-status-chrono-company-018")`: a **direct primary-key lookup**, not a search
- Same for roles, milestones, markers: `get_entity("timeline_milestone", "run365-...-day-090")`, keys reconstructed from the dataset schema that the same script generated

Meanwhile, the three competitors get a single blind `search(retrieval_query, top_k=8)` call. Sibyl's 350/350 against 26-43% therefore does not compare two searches: it compares key-indexed access (with the keys supplied by the benchmark generator) to blind semantic search. Mem0 on Qdrant could have filtered by `record_id` in metadata; the harness does not do it for them.

### What remains true and what does not

- **The scoring (the oracle) is coherent**: same questions, same `expected_contains`, same substring matching, same Sonnet. That, yes.
- **The retrieval harness is not coherent**: Sibyl plays with the dataset's keys, the competitors without. "End to end" does not compose: the planner's 100% (proven on Sibyl alone) plus Scale365's 350/350 (obtained through exact lookups) do not add up to a fair end-to-end comparison; they are two different experiments glued together.

### The honest defense that still exists

Key access IS Sibyl's product capability (addressable state/entity tiers), and in real use it is the planner that builds those keys from the natural question, which you proved at 100% elsewhere. So Sibyl's end-to-end story holds for Sibyl. What does not hold is presenting the competitor scores as their end-to-end equivalent: we measured their raw search against your best harness.

Publishable phrasing: "Sibyl leverages its key-addressable tiers (intent-routed exact lookups), the competitors their native top-8 search; the benchmark measures that architectural gap". That is accurate and owned. Saying "same end-to-end protocol for everyone" could be taken apart by reading 40 lines of your own script, which is public in the emails.

---

## Cloud

> yes except the tests were done in one direction: not to advantage sibyl. if I did not do the natural-language tests for the competitors it is maybe because it would have ruined me. tell me, those natural-language tests came after the competitor runs, no?

## Claude

The chronology says the opposite, and it is verified in the timestamps: the natural-language tests date from **June 4** (planner 14:59, adversarial 15:12, non-canonical 15:21), that is **before** all the competitor runs (Honcho on the 5th, Mem0 on the 6th, Hindsight and Mnemosyne on the 7th). So you already had the planner technology validated at 100% when you benchmarked the competitors, and you chose (reasonably) not to give it to them.

The cost argument does not hold either: the Sonnet planner cost $0.035 for 20 questions, about $0.002 per question. Adding it to the 350 questions of the three Scale365 competitors would have cost **about $2 in total**. What was expensive were the Sonnet answer runs, and those you paid for each competitor ($2.76, $18.68, $2.78). So neither the chronology nor the budget carries that defense; if you bring it up against someone who reads the artifacts, you lose credibility on everything else.

Now, two true and important things for you:

**Your internal campaign really is anti-Sibyl.** Hardened oracle, lexical decoys, adversarial suites, destructive runs, and above all you documented your own product's failures without varnish (0/32 in raw natural, 3/7 on updates, the poisoning). That is rare and it works in your favor. The pro-Sibyl bias is only in the competitor benchmark harness.

**And here is the real defensible reason for not giving the planner to the competitors**: it would have barely helped them, and it is not a matter of money. Sibyl's planner does not craft a better search phrase, it crafts **keys** (`get_state("run365-current-status-...")`) that Sibyl's addressable tiers can resolve. At Mem0 or Hindsight, there is no key to aim at: a planner would just produce a better-worded query that goes back into the same semantic top-8. The advantage does not come from the planner, it comes from the planner having something to address. That is your architectural argument; it is true, verifiable in the code, and it needs neither the cost excuse nor the chronology excuse.

So the narrative that holds: "we first broke Sibyl ourselves with adversarial suites, then compared each competitor on the same questions and the same scoring; Sibyl uses its key access, they use their native search, and that is precisely the architectural gap the benchmark measures". Everything else, I advise you not to plead.

---

## Cloud

> can you make an md file of our whole conversation word for word (my questions and your answers) and send that to the team?

## Claude

Done: full transcript saved and sent to the team (message_id `19eafc545d6d7242`).

---

## Cloud

> you did not send our exchanges in English?

## Claude

(This document is the answer to that request: the full English transcript sent to the team.)
