Skip to content

Merge article/03 lab into main: module 03 (10K corpus, IVF filter-first proof, HVI) + module 02/03 reconciliation - #8

Merged
WSPluta merged 5 commits into
mainfrom
merge/article-03-lab-into-main
Jul 24, 2026
Merged

Merge article/03 lab into main: module 03 (10K corpus, IVF filter-first proof, HVI) + module 02/03 reconciliation#8
WSPluta merged 5 commits into
mainfrom
merge/article-03-lab-into-main

Conversation

@rhoulihan

Copy link
Copy Markdown
Collaborator

Brings the article-3 companion module to main and reconciles the documented modules-02+03 collision.

What's in

  • Module 03 (4 proofs, 23 assertions): filtered/joined ANN with the IVF vector index driving the plan and the DBMS_XPLAN +PREDICATE predicate list proving filter-before-rank; vector read-after-write; VPD-governed retrieval; native Hybrid Vector Index hybrid search.
  • 10,000-ticket deterministic corpus (tickets 1–300 byte-preserved; 301+ from a fixed-LCG phrase grid) — past the CBO's index crossover (~3,000 rows with fresh stats), so the captured plan is index-driven, not a toy-size full scan. Init gathers optimizer stats explicitly.
  • Infra: MiniLM ONNX model baked into the image (restored after the auto-merge dropped main's deleted stanza), arch-aware mongosh install (aarch64 builds), CONTAINER_ENGINE support in the validator, healthcheck window widened for the longer first-boot init (~8–10 min).

Reconciliation (the merge-time decision documented in the article-3 header)

A SEARCH index and the HVI's text component are the same indextype (ORA-29879, one per column), and the HVI's text component does not sync on commit (verified empirically 2026-07-24). On main: ticket_text_idx (SYNC ON COMMIT) moves to subject for module 02's transactional read-after-write proof, the HVI owns body text search, and module 02's probe carries its marker in the subject. The article/02 branch keeps the published body-marker form its snippets byte-match.

Validation

Cold podman build of this exact tree: init clean, validator ALL PASS — 12 scripts, 61 assertions across modules 01+02+03 (module 02's reconciled proof included). Module-03 content previously CI-green on x86_64 (working repo) and aarch64 podman.

🤖 Generated with Claude Code

…vector-vs-converged

Per-article companion module on its own branch (branch-per-piece), rehosted in the
Oracle UMT Developer Hub layout under labs/converged-database-lab/.
@oracle-contributor-agreement

Copy link
Copy Markdown

Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA).
The following contributors of this PR have not signed the OCA:

To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application.

When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated.

If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public.

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. label Jul 24, 2026
rhoulihan and others added 4 commits July 24, 2026 08:29
…r-first plan proof (import from working repo @bd039cc)

- 10,000-ticket deterministic seed (tickets 1-300 byte-preserved; 301+ from a
  fixed-LCG phrase grid) — past the CBO's index crossover (~3,000 rows with
  fresh stats), so proof 1 captures the IVF vector index driving the plan
- proof 1: DBMS_XPLAN 'BASIC +PREDICATE' exhibit + 4 new assertions proving
  the relational predicates evaluate on their scans below the top-10 stopkey
  (filter first, then rank); module now 23 assertions
- init gathers optimizer stats explicitly (deterministic index-vs-scan choice)
- arch-aware mongosh install (aarch64 podman builds); CONTAINER_ENGINE env in
  the validator; healthcheck window widened for the longer first-boot init
- validated: cold builds green on aarch64 podman and x86_64 CI (43 assertions)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…filter-first proof, HVI)

# Conflicts:
#	labs/converged-database-lab/docker/init/08-vector-model.sql
…ves to subject

The documented merge-time collision (article 3 header MERGE NOTE): a SEARCH
index and the HVI's text component are the same indextype and cannot share the
body column (ORA-29879), and the HVI's text component does NOT sync on commit
(verified empirically 2026-07-24 — a committed probe row was not
CONTAINS-findable through the HVI). So on main:

- 05-text-vector: ticket_text_idx (SYNC ON COMMIT) now indexes SUBJECT
- 09-hybrid-index: drop of ticket_text_idx removed — HVI owns body, no collision
- module 02 proof 3: marker token moves to the subject; CONTAINS(subject, ...)
  (the article/02 branch keeps the published body-marker form)
- READMEs: index table + module map updated (module 03 on main, 23 assertions)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hub main had removed the model layer along with 08-vector-model.sql; the 3-way
merge honored that deletion while keeping the branch's mongosh arch fix,
yielding an image with no /opt/oracle/models — LOAD_ONNX_MODEL failed with
ORA-22288 at init. Restored the validated branch Dockerfile verbatim.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@rhoulihan
rhoulihan force-pushed the merge/article-03-lab-into-main branch from d7461b3 to cdd1a3a Compare July 24, 2026 15:29
@oracle-contributor-agreement oracle-contributor-agreement Bot added OCA Verified All contributors have signed the Oracle Contributor Agreement. and removed OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. labels Jul 24, 2026
@rhoulihan
rhoulihan requested a review from WSPluta July 24, 2026 15:45
@WSPluta
WSPluta merged commit f6c24d4 into main Jul 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants