Repository navigation
Sync upstream dev into re-dev (2026-10-24): #1390 and 9 more - #39
Merged
Merged
Conversation
…ing the flag on drops the ones already stored (deeplethe#1390) Signed-off-by: Bogdan Szabo <bogdan@re-cinq.com>
… page, and find_entities reports its match count in MCP output (deeplethe#1396) Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com> Co-authored-by: Aschenbath <Aschenbath@users.noreply.github.com> Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…ty gets its bound class, a dated statement reads as its period, a text attribute takes a named object, an unreadable value is a drop row (deeplethe#1370) * An attribute declared on a class reaches the typed graph: a late entity gets its bound class, a dated statement reads as its period, a text attribute takes a named object, an unreadable value is a drop row Measured on four company profiles with one class and six attributes, 18 value statements gave 5 typed facts. Four gates, two of them bugs: - A kind word bound while a document was still extracting never reached the entities that document created afterwards: extraction reads the binding table once, and a decision projects itself only when it is written. `type_bindings::apply_bound` now runs at the end of every extraction and at the start of every kind-word alignment run. - A bound value the attribute's datatype could not read was skipped in silence. Materialisation records it as `attr_datatype` in `extraction_drops`, rewritten as a set on every recompute, shown in the Library's drop panel. - A statement dated at a single moment, bound to a state attribute whose binding marks neither end, computed no row (`MOMENT_UNREAD`), so no annual figure ever typed. It now holds over the period the date names, with `end_after_period` (0053 revision 2026-10-22). - An attribute whose value is a name (法定代表人) never had a candidate because extraction lists the name as a thing. A text attribute with a declared domain is now a candidate for an entity-object signature, forward only; the object's name becomes the value (0044 revision 2026-10-22). After the four: 12 typed attribute facts from the same documents with the hand-written ontology, 23 with the enterprise-profile scenario pack (0073, a separate change). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local> * The period reading of a single date applies to attributes only; a relation at a single moment with no marks still computes no row CI's `a_moment_marks_its_state` suite showed what the period reading does to a relation: "joined on 2023-06-01" read as a one-day span closes the open works-for row that starts the same day at the next day, through the write gate's "same start, this observation brings an end, that row is open" rule. That is an ending the document never stated. A dated value is a measurement for its period and has no such neighbour, so the reading stays for attributes (the annual figures that motivated it) and the 2026-09-27 rule stands for relations, including a rule that concludes a relation from a single-date statement. The record, the design file and the suite's header say so; the four relation cases pass unchanged. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local> * The typed-to-untyped namesake case expects the aligned class the catch-up projection writes Resolution still gives no entity a class: a chosen untyped namesake records the mention's kind word and leaves the class to alignment. With the kind word bound to Person, the projection that runs when the extraction ends now types it `aligned`, where it used to stay empty only because that projection was missing. The case checks the class and its source instead of an empty type. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local> --------- Signed-off-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local> Co-authored-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…mpetency questions one kind of corpus is read for (deeplethe#1369) The standard packs give types, not the predicates a corpus needs, and the empty start grows a vocabulary only after documents arrive. A scenario pack (0073) is the top-down start: one JSON file embedded in the binary, bilingual, with definitions written for the aligner, datatypes and units already right, and the questions the base is meant to answer. It installs at creation through the editor's own calls, so its elements are the base's own; a key that already exists is skipped and reported; questions are created accepted with the creating person as author; `embed_ontology` is queued. Three packs ship: 企业档案 (enterprise-profile), 合同链 (contract-chain), 人事档案 (personnel-records). `GET /scenario-packs` lists them and the creation dialog has a second picker beside the standard packs. A unit test checks every shipped file: keys unique, hosts, domains and parents resolve to classes listed earlier, datatypes valid, every definition in both languages. Decision 4 of 0073 (the competency bench per pack) is open. Signed-off-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local> Co-authored-by: Wayland Yang <wayland@WaylanddeMacBook-Pro.local> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…h, so Q1 to Q3 runs through September instead of stopping in July (deeplethe#1404) Signed-off-by: Rudy Celekli <rudy@gradiahq.com> Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…illion" reads as 2.5 billion instead of 2.5 (deeplethe#1400) Signed-off-by: Rudy Celekli <rudy@gradiahq.com> Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…bout 350 people" becomes 350 instead of no value (deeplethe#1402) Signed-off-by: Rudy Celekli <rudy@gradiahq.com> Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
… "2nd March 2020" become those days instead of no value (deeplethe#1406) Signed-off-by: Rudy Celekli <rudy@gradiahq.com> Co-authored-by: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…rded (deeplethe#1395) * fix: discard extraction replies after their job is superseded Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com> * fix: discard errors after an extraction job is superseded 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: WaylandYang <145302500+WaylandYang@users.noreply.github.com>
…ed with max_completion_tokens and no temperature, learned once per client (deeplethe#1394) * fix: let model jobs recover from unsupported request parameters Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com> * Keep the model compatibility rationale in Chinese Signed-off-by: Nash Aschenbath <wwh86696@163.com> Co-authored-by: Schro-code <78734653+Schro-code@users.noreply.github.com>
Signed-off-by: Bogdan Szabo <bogdan@re-cinq.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
re-devup to upstreamdevat03562d0f: 10 commits, deeplethe#1390 (an identity source's names get no name vectors, and turning the flag on drops the ones stored), deeplethe#1396 (changesandentity_factspage with an offset), deeplethe#1370 (a class's declared attributes reach the typed graph), deeplethe#1369 (a base can start from a scenario pack), deeplethe#1404, deeplethe#1400, deeplethe#1402 and deeplethe#1406 (quarter intervals, capitalised magnitude and approximate words, ordinal dates), deeplethe#1395 (a late extraction reply for a superseded job is discarded) and deeplethe#1394 (a model that refusesmax_tokensor temperature is retried without them). Thedevmirror was fast-forwarded to upstream first.Upstream
devholds the truth: where fork code conflicts with upstream, upstream's version is taken.Conflict. One, in
extraction_open.rsat the end ofrun_open. Upstream added the identity drop (name_vectors::drop_for_documentwhen the document comes from an identity source) and embeds pending names inline. The fork queues theembed_namesjob there instead (deeplethe#1296). Upstream's drop is taken as is, and the inline embed is replaced by the job enqueue as before. The job goes throughname_vectors::pendingandname_vectors::set, which now skip and refuse names with identity evidence, so it follows deeplethe#1390's rules with no change of its own.Build fix. deeplethe#1390's test
an_identity_name_attaches_by_its_exact_name.rscallssources::updatewith upstream's six arguments; the fork's decay setting (RC-003) adds a seventh, so the call passesNonefor it.Schema version 113. No upstream migration came in; 113 migration files,
CURRENT_SCHEMA_VERSIONstays 113.Checked on the merge: migrations ran twice on a fresh database,
cargo fmt --all -- --checkandcargo clippy --workspace --all-targets -- -D warningsare clean,UTOPIA_TEST_REQUIRE_DB=1 cargo test --workspaceis green: 1771 passed, 0 failed, 6 ignored. Web files changed, so the web checks ran: style guard,tsc --noEmitclean,vitest run342 tests in 48 files.