Skip to content

fix: address artifact search review edge cases - #1901

Closed
frf12 wants to merge 3 commits into
oceanbase:masterfrom
frf12:codex/artifact-search-review-fixes
Closed

frf12 wants to merge 3 commits into
oceanbase:masterfrom
frf12:codex/artifact-search-review-fixes

Conversation

@frf12

@frf12 frf12 commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Superseded by #1882. All correction commits from this PR are included in the Atomic integration branch; review and validation continue in #1882.

Which issue or RFC does this PR close?

Follow-up to merged #1862 and RFC #1858, addressing P2 and P3 from its final review. The common fixes will also be synchronized into the Atomic integration PR #1882.

Rationale for this change

Desktop upgrade instructions still selected a historical contract that the native connection gate rejects. Topic text search also accepted positive lexical admission floors that overflow SQLite INTEGER binding, returning 500 even for an empty Scope.

What changes are included in this PR?

  • Update both Desktop upgrade guides to the current qualified Base profile and the explicit select/save/recheck flow.
  • Offer matching-contract compatibility profiles as usable choices. Preserve historical records as disabled choices, retain saved historical or unknown selections visibly, and explain how to replace them. New connections retain no default selection; native qualification and identity gates are unchanged.
  • Return empty Topic lexical channels before SQL binding when the computed minimum matching-term count exceeds the number of distinct query terms. Apply the same domain rule to SQLite and OceanBase. Hybrid retrieval continues its vector channels, and the existing one/two-term admission behavior remains intact.
  • Add rendered UI regressions and real SQLite HTTP/FTS5/sqlite-vec regressions, plus simulated OceanBase adapter coverage.

Are there any user-facing changes?

Desktop upgrades can explicitly choose the profile that matches the bundled contract. Historical evidence is retained and incompatible selections are explained. Impossible lexical admission floors now return empty lexical results instead of a server error; semantic results remain available in hybrid mode.

No API schema, generated code, dependency, persisted format, or shared authorization changes. The historical Experience/Skill authorization race is tracked separately in the P1 reply, which asks for a separate issue. The existing Topic read reauthorization and snapshot protection remain.

How was this change tested?

Current reviewed HEAD: 0ac9186b514356636553d11649a814a0638144cf, synchronized into Atomic #1882 at f9570ed28626935408a87bf57420549d2c80ddc5.

The next actual Windows execution 37904671893 passed 28 UI tests, all native suites, and real Server/CLI stages, then failed installed smoke while selecting the current compatibility profile. Its XPath assumed the option was a direct select child; the production UI now groups profiles. The final correction changes only select/option to select//option in the installed harness, retaining the exact qualified profile ID, existing WebDriver enabled check and every later acceptance assertion. No production or qualification changes.

The coordinator independently repeated the external actual-rendered Connections XPath probe in each checkout: 1 passed, 0 failed, 0 skipped for Base and separately for Atomic. Exact current options remain enabled and selectable, and default selection remains empty. Both checkouts passed make check (33 manifest tests each) and three-script Ruff/format/Windows-platform/Linux-platform Ty checks. These local jsdom and static checks do not establish installed Windows acceptance; CI for the current heads is pending. The failed older installed runs remain recorded. The final commit changes only one XPath slash; other source/test results below retain their original material.

Historical reviewed HEAD: 763022e7b5c30fe0c505beaa193a2fdbbf59b82c. Both fixes and the test-only navigation synchronization are included in Atomic #1882 at 5c77f0221d5b11b067263e3cbf4eb77515766342.

The first Windows run 37903135663 retained 27 passed, 1 failed, 0 skipped in the old late-Memory-save UI case; subsequent native/installed acceptance was not reached. Before editing tests, real focus/key/input event instrumentation demonstrated the existing navigation RAF moving focus to the H1 during test typing. The fixture now waits for each successful page navigation's heading focus before typing, including the intermediate Overview transition. All existing late-save, confirmation and complete-text assertions remain; production UI and RAF behavior are unchanged. The diagnostic's 1 passed, 2 failed, 16 skipped is preserved separately from the Windows failure.

Coordinator independently repeated the complete final Base UI: 28 passed, 0 failed, 0 skipped. Complete Atomic UI after synchronization: 34 passed, 0 failed, 0 skipped. Both final materials passed make check (each includes 33 integration-manifest tests), Desktop lint/build and whitespace checks. The Topic executions below used the unchanged Python correction material; the final fixture commit modifies only two UI test files. New-head CI is pending and the earlier failed run is retained.

Coordinator independently executed on the reviewed material:

  • Topic persistence/runtime/security/fusion/HTTP collection: 198 passed, 0 failed, 0 skipped, 1 deselected (-k 'not live_oceanbase'). Python 3.12.7, actual SQLite 3.45.3 and sqlite-vec 0.1.9, deterministic local embeddings.
  • Desktop pnpm test: 28 passed, 0 failed, 0 skipped, using bundled Node 24.19.0. The package's existing exact Node 24.14.1 engine warning remains.
  • make check: passed, including lock consistency, pre-commit, type checks and 33 integration-manifest tests.
  • Desktop pnpm run lint and pnpm run build: passed, including generated-contract checks and TypeScript.
  • git diff --check: passed.

Before implementation, the new Desktop cases failed for the reported behaviors, and the actual SQLite HTTP regression failed with INTEGER overflow. New Python regressions cover the signed-64-bit boundary, a much larger integer, ordinary lexical matches, short queries and retained hybrid vector results. OceanBase coverage uses a simulated connection; no native OceanBase execution is claimed. UI tests use jsdom with mocked native IPC; no installed Windows execution is claimed for these local checks. CI results belong to this PR's published HEAD and will be verified separately.

AI usage statement

GPT-6.1 Sol with ultra reasoning implemented the two independently scoped fixes. The coordinating Codex agent reviewed the changes and independently ran the affected regressions and repository checks.

@frf12 frf12 closed this Oct 9, 2026
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.

1 participant