Skip to content

v0.1.0-rc9

Pre-release
Pre-release

Choose a tag to compare

@WaylandYang WaylandYang released this 11 Oct 03:42
· 74 commits to main since this release
888761c

Two days after rc8, this release is mostly what people running rc8 found: Gemini's OpenAI-compatible endpoint now works from embedding to tool calls, a deployment with a restricted database role gets its vector indexes, and a failing embedding model no longer silences chat memory. The first cut of regression cases for the ontology arrives, and the old ontology growth loop is retired.

Model endpoints

Four fixes from one deployment against Gemini's OpenAI-compatible endpoint; each also holds for any endpoint that answers in the same shape.

  • An embedding item without an index takes its position beside the indexed ones. On rc8 every ingestion batch failed (#1135).
  • A tool call's extra_content is returned to the endpoint within the turn. Gemini 3 signs each function call and refuses the next request without the signature (#1183).
  • A streamed tool call without an index starts a new call when it brings an id. Two parallel calls used to merge into one with a concatenated name (#1190).
  • A failed answer is logged on the server with its code and the endpoint's message; before, only the browser saw it (#1189).

Memory

  • A memory is extracted even while the embedding model answers with an error, and a sentence that cannot be embedded or extracted no longer blocks the ones after it. On rc8, remember kept answering "Recorded" while nothing reached confirmation (#1188).

Ontology

  • Regression cases. A property remembers the example statements it was approved with, and a person can add a case from any open statement in the document viewer. When alignment decides again after an edit, each case records whether it still binds, and when; a signature a person bound by hand passes and says so. The Ontology page lists the cases with their evidence (0061 cut 2, #1178, #1184).
  • The old growth loop is retired. Suggest, automatic extension and adoption by wording are gone; the agent's proposals are the one way the ontology grows (#1129, #1132, #1128).
  • A column becomes an attribute through the expression tree rules already execute (#1133). A rule update that keeps Y conditions without a join is refused (#1126).

Identity, alignment and extraction

  • Recall does not pair two names that carry different numbers, such as migration 395 and migration 394 (#1134).
  • A phrase signature's vector is kept, so an alignment run embeds only the texts it has not seen (#1186).
  • A vector index is built by the role that owns the table, so a deployment with a restricted runtime role gets its indexes (#1124).
  • An empty balance stops open extraction at the refused chunk; the job fails once and raises the alert (#1118). Duplicate reviews are read in batches and their summary counts are cheaper (#1119).
  • A # line inside a Markdown code block is no longer read as a heading when a time word looks for its section (#1162).

Interface and CLI

  • In the Chinese interface a weekly schedule is saved as valid cron (#1166). The schedule keeps its last valid time while the time box is incomplete (#1168).
  • The worker form offers the range the server accepts, 1 to 256 (#1163).
  • In the rule editor an empty numeric condition is refused instead of saved as zero (#1148), and a range may have signed bounds (#1147).
  • A number with a physical unit is shown as 500 MW, not MW500 (#1143). A data source's database, catalog or schema name may contain #, ? or % (#1157). A field's label is tied to its text input (#1156).
  • utopia backup and restore refuse an option whose value is missing (#1140).

Measured

  • Identity bench for #1134, two builds one commit apart, 16 new bases a side: F1 0.64 before and 0.63 after; decisions between two names that both carry digits fell from 33 to 7 over eight bases a side.
  • The bench scripts take a judge's verdict only when it is the boolean true (#1175), stop instead of scoring when the pipeline misses its deadline (#1174), and refuse an HTTP error page as a filing (#1170).

Housekeeping

CONTRIBUTING says how much test a change carries, that a test has to run in CI, and when a pull request must explain its size (#1180). The README has a new banner (#1182, #1185, #1191). The web lockfile takes the patched MCP SDK, proxy-addr, source-map-js and postcss-selector-parser 7 (#1125). Tests that proved again what their change left alone were removed (#1127).

Upgrading

  • Migrations 0109 and 0110, both forward-only, applied on startup. An rc8 database with data (two documents and a pushed statement) was started on this build: the counts were unchanged, the old account signed in, documents, search and the sealed model keys read back, and a new document, a new push and a new memory were processed with no failed job.
  • Routes removed with the old growth loop: POST /ontology/suggest, POST /ontology/misses/dismiss and /restore, GET /ontology/proposed-predicates, GET /ontology/auto-extension, POST and DELETE /ontology/adopt-predicate. GET /ontology no longer returns misses. The auto_extend_ontology setting is still accepted and has no effect.
  • A base that still holds typed facts without a predicate from before the open graph can no longer adopt their wordings as relations. Bases built on rc7 or later have none.

Thanks

To everyone whose work is in this release: @gedaiu, @rudycelekli, @virtue039, @evolv3ai, @Floating-Y, @Aschenbath and @asaf-shitrit. And to @BColladoT, whose reports led to #1124 and #1134.