Skip to content

Sync upstream dev into re-dev (2026-11-05): upstream's source filter, typed conflicts and 25 more - #48

Merged
gedaiu merged 28 commits into
re-devfrom
sync/upstream-dev-2026-11-05
Nov 5, 2026
Merged

gedaiu merged 28 commits into
re-devfrom
sync/upstream-dev-2026-11-05

Conversation

@gedaiu

@gedaiu gedaiu commented Nov 5, 2026

Copy link
Copy Markdown

Sync re-dev with upstream dev (2026-11-05)

Brings in 27 upstream commits: deeplethe#1427 (search by source and external_id_prefix), deeplethe#1131 (typed graph conflicts), deeplethe#1469 (a rewritten open statement stays one, with its section dates), deeplethe#1474 (write token manages push sources), deeplethe#1466, deeplethe#1468, deeplethe#1465, deeplethe#1425, deeplethe#1409, deeplethe#1358, deeplethe#1377, deeplethe#1461, deeplethe#1453, deeplethe#1459, deeplethe#1458, deeplethe#1460, deeplethe#1455, deeplethe#1449, deeplethe#1447, deeplethe#1452, deeplethe#1414, deeplethe#1413, deeplethe#1412, deeplethe#1398, deeplethe#1372, deeplethe#1359 and deeplethe#1420.

Conflicts took upstream's version. The search filter is now upstream's SourceFilter with a single external_id_prefix compared against the pushed_key, so the fork's external_id_prefixes array and its two tests go; upstream's token_read_tests cover the prefix. The fork's RC-003 pieces stay on top of it: the record flag on the search body, the stale demotion before paging, and decay_changed in the source audit. The fork's RC-004 close_unconfirmed route keeps its place next to upstream's new checkpoint tests. temporal.rs is upstream's, which now carries layer and phrase through every rewrite (deeplethe#1469), the same fix the fork made in RC-004. The fork's embed_names job stays in place of the inline embed_pending_names, and chunk search keeps ordering by the fork's index_order expression so a wide embedding still uses its full-precision index.

Upstream adds five migrations: 0117, 0119, 0122, 0123 and 0125. 0122 is the upstream twin of fork 9000 (the same fact_evidence_document_idx, with IF NOT EXISTS), so a database migrated at re-dev runs it as a no-op; 9000 stays. 0123 and the fork's 9003 both replace job_priority, each listing only its own fast-lane kind (materialize_typed upstream, embed_names here), so a fresh database would end with 9003's body and a database that already ran 9003 would end with 0123's. New fork migration 9008 lists both and reindexes jobs_priority_claim_idx; it runs last in either order and is a no-op once the body has both. 0117, 0119 and 0125 touch nothing the fork's migrations created. CURRENT_SCHEMA_VERSION is 120, the count of migration files (111 upstream, 9 fork).

rudycelekli and others added 28 commits October 25, 2026 15:56
…keeps that day's events (deeplethe#1420)

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…deeplethe#1359)

* Prevent GitHub and Jira sync checkpoints from skipping unread tickets

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

* Read complete GitHub discussions and bound rate-limit waits

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

* Exercise sync budgets with realistic test fixtures and reuse regression setup

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

* Keep equal-time Jira pages stable and align checkpoint documentation

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

---------

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>
…is not sent none again (deeplethe#1353) (deeplethe#1372)

* A deployment that refuses reasoning_effort none on tool requests too is not sent none again (deeplethe#1353)

Signed-off-by: Quintin Botes <quintinbotes@outlook.com>

* Only a retry refused for reasoning_effort forgets none, so an unrelated 400 keeps it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Quintin Botes <quintinbotes@outlook.com>

---------

Signed-off-by: Quintin Botes <quintinbotes@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…ls recall only those documents before fusion (deeplethe#1427)

Signed-off-by: Bogdan Szabo <bogdan@re-cinq.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…her cards (deeplethe#1452)

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
* A model card's Test button tests only that card

Signed-off-by: 0xvectr <57480598+0xvectr@users.noreply.github.com>

* Saving or editing a model card resets only that card's test

Signed-off-by: 0xvectr <57480598+0xvectr@users.noreply.github.com>

---------

Signed-off-by: 0xvectr <57480598+0xvectr@users.noreply.github.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…, and a failed SQL restore rolls back (deeplethe#1449)

* Check restore overwrite permission before changing the database.

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

* Keep restore regressions focused and preserve their failure evidence.

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

* Keep restore test artifacts managed and make failure setup readable.

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

* Recheck restore targets and roll back failed database restores.

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>

---------

Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…元 under 亿元 shows 0.035 instead of 0.04 (deeplethe#1398)

* A quantity read into a larger declared unit keeps its digits, so 350万元 under 亿元 shows 0.035 instead of 0.04

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

* Keep scaled quantities readable without exposing arithmetic roundoff

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

---------

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…deeplethe#1412)

* A Snowflake date or timestamp reads as a date, so 18262 is 2020-01-01

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

* Record temporal type restoration without implying a live Snowflake run

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

---------

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…7.89 is not 1.2345678901234568e16 (deeplethe#1413)

* A decimal longer than a double keeps every digit, so 12345678901234567.89 is not 1.2345678901234568e16

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

* Record why long exact database values remain strings

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

---------

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
Co-authored-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…f "1234.50" (deeplethe#1414)

* A Trino decimal reads as a number, so SUM(amount) is 1234.5 instead of "1234.50"

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

* Record Trino decimal restoration and its exact-value dependency

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>

---------

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
Co-authored-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…erator sees the checkpoint itself and not only that the round succeeded (deeplethe#1455)

Signed-off-by: Royce Lam <roycelam@umich.edu>
… does not fail on the 26.04 image (deeplethe#1460)

Signed-off-by: Wayland Yang <wayland@Mac.bbrouter>
Co-authored-by: Wayland Yang <wayland@Mac.bbrouter>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…topped by 410 Gone (deeplethe#1453)

Jira Cloud has removed `/rest/api/2/search`. Sites on `*.atlassian.net` and `api.atlassian.com/ex/jira` now use `/rest/api/2/search/jql`, which pages with `nextPageToken` and ends on `isLast`. Server and Data Center sites keep the old `startAt`/`total` paging unchanged. The Cloud path still sends the explicit fields and changelog expand, refuses to confirm a checkpoint if it gets an empty page or no token before the last page, and has new tests.

Notice jira-cloud-change-2046-search-jql about atlassian.net's API describes the change. It was read from a file and is not signed by the provider.

Signed-off-by: Agustin Torres <agustintorres2001@gmail.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…d can no longer swap in an older commit (deeplethe#1458)

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…e overhead on a slow machine (deeplethe#1459)

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…eeplethe#1425)

* fix(resolution): require human review for identity merges

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

* docs: write the identity-hold test comments in Chinese and name the implementing PRs in 0071

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

---------

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…eeplethe#1409)

* Find a document's evidence without scanning every other document

Signed-off-by: Nash Aschenbath <wwh86696@163.com>

* The evidence index is created only if missing, so a deployment that already built it still starts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

---------

Signed-off-by: Nash Aschenbath <wwh86696@163.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…lethe#1358)

* fix: let human phrase decisions materialize ahead of model work

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

* The intake test file is named after the test it holds

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

* The schema version counts the migrations on dev after the earlier merge

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: WaylandYang <>

---------

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Signed-off-by: WaylandYang <>
Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
Co-authored-by: WaylandYang <>
…plethe#1131)

* Govern conflicts in the typed graph and preserve human decisions

Signed-off-by: Nash Aschenbath <wwh86696@163.com>

* docs: record the human conflict path before governed proposals

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

* feat(review): let people retime conflicts and commit decisions atomically

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

* A person's retime is credited to that person in entity history, not to the engine

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

* The search reload policy and the embedding timing change move to their own pull requests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>

* A conflict resolution names its audit event where it names its action, and the close arm keeps its precision note

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: WaylandYang <>

---------

Signed-off-by: Nash Aschenbath <wwh86696@163.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Signed-off-by: WaylandYang <>
Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <>
…fetch takes the Cloud flag like the GitHub one (deeplethe#1461)

Signed-off-by: Wayland Yang <wayland@Mac.bbrouter>
Co-authored-by: Wayland Yang <wayland@Mac.bbrouter>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…each known gold error named (deeplethe#1377)

* Expose which evidence a namesake verdict actually reads before it changes the graph

Signed-off-by: Virtue039 <virtue039@qq.com>

* Pin namesake gold errors so a fixed case cannot mask a new regression

Signed-off-by: Virtue039 <virtue039@qq.com>

---------

Signed-off-by: Virtue039 <virtue039@qq.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
… comments say window, not silence (deeplethe#1465)

When the overview timer fired it flushed the fast layer, so keys still inside their 300 ms window went out early and a steady push paid one extra fast refetch per overview window. It now only pushes into the fast layer. With no fast window open the overview lands up to SETTLE_MS later. Reconnect and unmount still flush through flushAll, so prefix folding is unchanged.

The window starts at the first event and does not reset (deeplethe#1311), which the comments described as silence.

Signed-off-by: Wayland Yang <wayland@Mac.bbrouter>
Co-authored-by: Wayland Yang <wayland@Mac.bbrouter>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#1466)

Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…gy_lang, since an empty ontology has no language to follow (deeplethe#1468)

Signed-off-by: Schro-code <78734653+Schro-code@users.noreply.github.com>
…es it can create (deeplethe#1474)

Signed-off-by: Bogdan Szabo <bogdan@re-cinq.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…nd the dates its sections speak from (deeplethe#1469)

Signed-off-by: Nash Aschenbath <wwh86696@163.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…#1131, deeplethe#1469 and 24 more

Signed-off-by: Bogdan Szabo <bogdan@re-cinq.com>
@gedaiu
gedaiu merged commit 9267b60 into re-dev Nov 5, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.