Skip to content

chore(fraise): move to server v0.3.2 - #219

Merged
RonsenbergVI merged 1 commit into
mainfrom
chore/upgrade-fraise-0.3.2
Oct 10, 2026
Merged

RonsenbergVI merged 1 commit into
mainfrom
chore/upgrade-fraise-0.3.2

Conversation

@RonsenbergVI

@RonsenbergVI RonsenbergVI commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Pull Request

What does this PR do?

Moves fraise to server v0.3.2, pinned by digest (sha256:5796b4d5…, amd64 + arm64, commit d123199b). It skips 0.3.1. Both are patch releases on the 0.3 line, so the SDK pin (fraise-sdk>=0.1.1,<0.2, verified against server >=0.3.0,<0.4.0) and the adapter stay as they are, and uv.lock is unchanged. AGENTS.md's pin list is updated to match.

Upstream changes that matter here:

  • Recall behaviour changes (#524). Window scoring (db.window-gamma, default 0.3) is on by default and scores a fact together with the turns written just before and after it. Facet spread (the db.aggregate.name default) also spreads top hits across topics. The adapter sets neither, so the defaults apply.
  • Decay half-life default goes from 1 week to 90 days (#513). The adapter doesn't set it.
  • num-graphs is now capped at 256 at startup (#498). The compose file's -num-graphs 256 is exactly at the cap, which is still accepted.
  • The rest of 0.3.1 and 0.3.2 is fixes: query-grammar repairs, rp-tree pool sizing and determinism, delete cleanup, and config validation.

Kind of change

  • New memory system integration (benchmarks/<name>/)
  • Fix to an existing integration
  • New dataset / dataset loader change
  • New metric / evaluation axis
  • Harness (CLI, reporting, plotting, CI)
  • Docs only

Testing

Tested against a local server started from the pinned digest:

docker run -d -p 127.0.0.1:19878:9876 ghcr.io/fraisehq/fraise@sha256:5796b4d589b7572428fe04fc683128baa7c2561c9fa08f62bda62bc7dd74fd1f -num-graphs 256
uv sync --package fraise

server_version() returns 0.3.2, check_compatibility() returns True, and stats() reports 256 graphs.

Keyless (no tagger, no embedder, no OpenAI calls). This uses the same scope as #210, which got 0.913 on 0.3.0:

FRAISE_BASE_URL=http://127.0.0.1:19878 uv run amb run --system fraise --dataset locomo \
  --limit 1 --turns 200 --questions 25 --param model=none --param embedding_model=none
"system_version": "0.3.2",
"num_questions": 25,
"retrieval_precision": 0.3812539682539683,
"retrieval_recall": 0.9133333333333334,
"errors": 0,

No keyed run and no agentic run.

  • uv run pytest passes (386 tests). The pre-commit hooks pass too.
  • Ran the change against real data, not just unit tests (commands and output snippets are above)

Results / report hygiene

  • This PR does not hand-edit runs/, plots/, or RESULTS.md. Those are only ever
    written by amb report / amb plot all, and only committed by the release CI workflow,
    never by hand (CI enforces this). README.md is hand-written — its results section embeds
    images from plots/ by stable path and needs no machine edits
  • If this changes what a metric measures, existing numbers in RESULTS.md may now be stale —
    noted below, or flagged for a re-run

system_version becomes 0.3.2, so the next fraise run adds a new results row beside the 0.3.0 one and does not replace it. The smoke number above comes from a small run and can't be compared with published results.

@github-actions github-actions Bot added area:benchmarks benchmark integrations area:docs documentation memory:fraise fraise adapter maintenance routine upkeep: refactors, chores, tooling labels Oct 10, 2026
@RonsenbergVI
RonsenbergVI merged commit 1709579 into main Oct 10, 2026
5 checks passed
RonsenbergVI added a commit that referenced this pull request Oct 10, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.6.0](fraise/v0.5.0...fraise/v0.6.0)
(2026-10-10)


### Maintenance

* **fraise:** move to server v0.3.2
([#219](#219))
([1709579](1709579))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
@RonsenbergVI
RonsenbergVI deleted the chore/upgrade-fraise-0.3.2 branch October 10, 2026 18:26
RonsenbergVI added a commit that referenced this pull request Oct 11, 2026
# Pull Request

## What does this PR do?

Moves fraise to server v0.3.3, pinned by digest (`sha256:89af8ea7…`,
amd64 + arm64, commit 1e25318c), and to SDK 0.2.0
(`fraise-sdk>=0.2.0,<0.3`). SDK 0.2.0 is still verified against server
`>=0.3.0,<0.4.0`. `uv.lock` changes only the `fraise-sdk` entry.
AGENTS.md's pin list is updated to match.

Upstream changes that matter here:

- **The extractor now reads each message in its graph's context
([#531](FraiseHQ/fraise#531
`OpenAIExtractor` sends the message with the graph's last three facts
and its 50 most-used extracted anchors, under a rewritten prompt that
resolves references and reuses existing anchor spellings. The breaking
part is the signature of a custom `Extractor` (`extract(text)` →
`extract(text, context)`). The adapter uses `OpenAIExtractor`, so its
code doesn't change. The client keeps the context per graph, and the
runner builds one client per sample and ingests it in order. That makes
the context exactly the conversation's own history, and conversations
sharing a graph by hash don't share it. The adapter docstring now says
so. Every extracting `remember` sends a longer prompt, so ingestion
token spend goes up (not measured here).
- **Recall defaults favour recall over precision
([#527](FraiseHQ/fraise#527 The vector lane
is weighted by the information the best text hit missed (this has no
setting). The `db.window-gamma` default goes from `0.3` to `-1` (off),
and the `db.aggregate.spread` default goes from `2` to `1` (every
ranking spread). The adapter sets none of these, so the new defaults
apply.
- **PageRank is removed
([#528](FraiseHQ/fraise#528 It removes the
`-ranking-algorithm` / `-pagerank-*` flags. The compose file only passes
`-num-graphs 256`, so it still starts.

## Kind of change

- [ ] New memory system integration (`benchmarks/<name>/`)
- [x] Fix to an existing integration
- [ ] New dataset / dataset loader change
- [ ] New metric / evaluation axis
- [ ] Harness (CLI, reporting, plotting, CI)
- [ ] Docs only

## Testing

Tested against a local server started from the pinned digest:

```bash
docker run -d -p 127.0.0.1:19878:9876 ghcr.io/fraisehq/fraise@sha256:89af8ea78817d73306152a75d3c7655c933d16636d396d940bdf5aaf17390c5c -num-graphs 256
uv sync --package fraise
```

`server_version()` returns `0.3.3`, `check_compatibility()` returns
`True`, and `stats()` reports 256 graphs.

**Keyless** (no tagger, no embedder, no OpenAI calls). This uses the
same scope as #210 and #219:

```bash
FRAISE_BASE_URL=http://127.0.0.1:19878 uv run amb run --system fraise --dataset locomo \
  --limit 1 --turns 200 --questions 25 --param model=none --param embedding_model=none
```
```
"system_version": "0.3.3",
"num_questions": 25,
"retrieval_precision": 0.16220634920634922,
"retrieval_recall": 1.0,
"errors": 0,
```

On 0.3.2 this run gave precision 0.381 and recall 0.913. The direction
matches the trade #527 describes, but at 25 questions it's a smoke
check, not a measurement.

No keyed run, so the context-aware extractor and its token cost are not
exercised here. No agentic run either.

- [x] `uv run pytest` passes (386 tests). The pre-commit hooks pass too.
- [x] Ran the change against real data, not just unit tests (commands
and output snippets are above)

## Results / report hygiene

- [x] This PR does **not** hand-edit `runs/`, `plots/`, or `RESULTS.md`.
Those are only ever
written by `amb report` / `amb plot all`, and only committed by the
release CI workflow,
never by hand (CI enforces this). README.md is hand-written — its
results section embeds
      images from `plots/` by stable path and needs no machine edits
- [x] If this changes what a metric measures, existing numbers in
`RESULTS.md` may now be stale —
      noted below, or flagged for a re-run

`system_version` becomes `0.3.3`, so the next fraise run adds a new
results row beside the 0.3.2 one and does not replace it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:benchmarks benchmark integrations area:docs documentation maintenance routine upkeep: refactors, chores, tooling memory:fraise fraise adapter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant