Skip to content

#825 Agent Field Report - #880

Merged
xerj-org merged 1 commit into
xerj-org:mainfrom
MavenRain:field-report/825-knn-query-union
Aug 31, 2026
Merged

#825 Agent Field Report#880
xerj-org merged 1 commit into
xerj-org:mainfrom
MavenRain:field-report/825-knn-query-union

Conversation

@MavenRain

Copy link
Copy Markdown
Contributor

Agent field report for the #825 fix session, per AGENTS.md and the folder README. One new file under user-feedback/16-agent-field-reports/; nothing else touched.

One new file under user-feedback/16-agent-field-reports, nothing else
touched, per the folder README and AGENTS.md.
@cla-bot cla-bot Bot added the cla-signed label Aug 30, 2026
@xerj-org
xerj-org merged commit 8e9757e into xerj-org:main Aug 31, 2026
19 of 20 checks passed
xerj-org added a commit that referenced this pull request Aug 31, 2026
Brings the branch onto rc.72's main after the eight-PR sweep (#877 concurrent
multi-index fan-out, #881 event-driven merge scheduling, #882 match_phrase slop
transpositions, #883 lock-free memtable byte accounting, #888 date epoch scale
from the mapping, #880/#884/#885/#886).

One textual conflict, in CHANGELOG.md: this branch and #882 both inserted a new
bullet as the first entry under `## [Unreleased] / ### Fixed`. Both kept, in
order — the two #781 entries (declared numeric/boolean type enforcement and the
type-mixed doc-values column) followed by #882's `match_phrase` slop entry.
Verified line-for-line that nothing main carried was dropped.

The two shared source files merged without conflict, and the resolution was
checked rather than assumed: the merge's diff against origin/main is byte-identical
in shape to this branch's diff against its old base (77 lines in es_compat.rs,
207 in index.rs, 129 in bulk.rs), i.e. the merge added this branch's changes and
subtracted none of main's. Region-by-region, the two sides do not touch:

  * es_compat.rs — main edited `search_impl` (11110-11286, #877), the
    search-task lifetime tests and `es_properties_to_fields` /
    `es_type_to_native` (16557-16853, #888's `date_precision`); this branch
    edits `index_doc_auto` / `index_doc` / `create_doc` (2831-3099) and appends
    `enforce_field_types` beside `apply_ignore_malformed`.
  * index.rs — main edited the merge-scheduling and sort/shadow sites
    (`request_merge_check`, `build_sort_shadow`, `shadow_range_bounds`,
    `sort_epoch_memo`, `normalize_search_after_value`, `compute_sort_values`,
    `phrase_walk` / `phrase_positions_in_tokens`); this branch edits
    `build_doc_value_columns`, `rewrite_query_aliases` and `json_values_equal`,
    none of which main touched.
  * bulk.rs, xerj-common/src/field_coercion.rs, xerj-common/src/lib.rs — not
    touched by main at all.

Each sibling's distinctive identifiers were then grepped back out of the merged
tree: `request_merge_check` (11), `DateScale` (31), `phrase_positions_match` (4),
and the memtable byte-delta counters. The only surviving `spawn_merge_task`
mentions are the two doc-comments #881 itself left behind.
xerj-org added a commit to MavenRain/xerj that referenced this pull request Aug 31, 2026
Brings rc.72's eight merged siblings under the xerj-org#825 knn-beside-query work:
xerj-org#877 concurrent multi-index fan-out, xerj-org#881 event-driven merge scheduling,
xerj-org#882 match_phrase slop transpositions, xerj-org#883 lock-free memtable byte
accounting, xerj-org#888 date epoch scale from the mapping, xerj-org#885/xerj-org#886 autoindex and
xerj-org#880/xerj-org#884 docs.

One textual conflict, in CHANGELOG.md: both sides inserted a new bullet at
the head of `### Fixed` — the xerj-org#825 union entry here, the xerj-org#830 sloppy-phrase
entry on main. They describe unrelated fixes, so both are kept, xerj-org#825 first.

The two files the siblings and this branch share — engine/crates/
xerj-engine/src/index.rs and engine/crates/xerj-api/src/es_compat.rs —
merged without conflict, and that was verified rather than assumed: the
merge result diffed against origin/main is byte-identical to this branch's
own diff against the merge base (5f3b6ea), so main's side is carried
through intact and no sibling hunk was dropped. The two edits that share a
function are non-overlapping by construction: xerj-org#877 rewrites the per-index
fan-out loop near the end of `search_impl`, while xerj-org#825 rewrites the
`knn`-beside-`query` fold ~1500 lines earlier, before any index is
resolved — the fold still runs once per request, and the pinned tree is
what each concurrently spawned per-index search receives.

Gates on the merge result: `cargo build --release -p xerj-api` clean;
`cargo fmt --all --check` clean; `cargo clippy --release -p xerj-engine -p
xerj-api -- -D warnings` clean.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants