Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
baca046
feat(retrieval): enhance agentic navigation with scope tracking, outl…
EricNGOntos Jun 3, 2026
8b3b6da
Resolve Issue #126 (#127)
EricNGOntos Jun 4, 2026
16ddaa0
chore(agentic): remove legacy topic_hints dead code after c0261ebc re…
EricNGOntos Jun 4, 2026
b6916a5
fix: route oversized pdf shards through s3
suguanYang Jun 4, 2026
b4c8a59
Merge pull request #131 from Ontos-AI/feat/suguan/pdf-split-s3-mineru…
suguanYang Jun 4, 2026
a9c397a
feat(agentic): add discovery fallback, budget-aware prompts, and VLM …
EricNGOntos Jun 4, 2026
80d60db
feat(agentic): reconcile navigation asset search flow (#136)
EricNGOntos Jun 8, 2026
c263182
chore: sync main into staging (#139)
EricNGOntos Jun 9, 2026
607df45
chore: sync main into staging
suguanYang Jun 16, 2026
a5a2e6e
Merge pull request #156 from Ontos-AI/chore/wangbinqi/sync-main-into-…
suguanYang Jun 16, 2026
90f9d45
Merge pull request #160 from Ontos-AI/main
suguanYang Jun 17, 2026
50b68e1
Merge pull request #165 from Ontos-AI/main
suguanYang Jun 17, 2026
d28d8a5
Merge pull request #175 from Ontos-AI/main
suguanYang Jun 25, 2026
d5bf22c
Merge pull request #178 from Ontos-AI/main
suguanYang Jun 27, 2026
b55f84e
Merge pull request #185 from Ontos-AI/main
suguanYang Jun 30, 2026
69f27cb
Merge pull request #191 from Ontos-AI/main
suguanYang Jun 30, 2026
b3b43cc
Merge pull request #197 from Ontos-AI/main
suguanYang Jul 2, 2026
81b6e9e
Merge pull request #199 from Ontos-AI/main
suguanYang Jul 2, 2026
564fc7a
Merge pull request #205 from Ontos-AI/main
suguanYang Jul 5, 2026
9816c0b
Merge pull request #209 from Ontos-AI/main
suguanYang Jul 7, 2026
a77021c
Merge pull request #211 from Ontos-AI/main
suguanYang Jul 7, 2026
417b8b5
Merge pull request #218 from Ontos-AI/main
suguanYang Jul 16, 2026
5af4307
Merge pull request #230 from Ontos-AI/main
suguanYang Jul 25, 2026
03374ff
Merge pull request #241 from Ontos-AI/main
suguanYang Aug 3, 2026
4d7494e
Merge pull request #250 from Ontos-AI/main
suguanYang Aug 12, 2026
ae33ce0
Merge pull request #259 from Ontos-AI/main
suguanYang Aug 12, 2026
247c754
Merge pull request #267 from Ontos-AI/main
suguanYang Aug 13, 2026
657d890
Merge pull request #269 from Ontos-AI/main
suguanYang Aug 13, 2026
eaeb3b5
Merge pull request #271 from Ontos-AI/main
suguanYang Aug 13, 2026
d2acac0
Merge pull request #273 from Ontos-AI/main
suguanYang Aug 13, 2026
7cbf0a0
Merge pull request #275 from Ontos-AI/main
suguanYang Aug 13, 2026
82d00ee
Merge pull request #277 from Ontos-AI/main
suguanYang Aug 13, 2026
6e39e49
Merge pull request #281 from Ontos-AI/main
suguanYang Aug 14, 2026
4772d75
Merge pull request #283 from Ontos-AI/main
suguanYang Aug 14, 2026
55c473a
revert(worker): rely on visibility-timeout recovery
suguanYang Aug 14, 2026
e87a0fc
Merge pull request #285 from Ontos-AI/revert/wangbinqi/bounded-worker…
suguanYang Aug 14, 2026
ceac1e7
Merge pull request #288 from Ontos-AI/main
suguanYang Aug 14, 2026
bf6d0f6
Merge pull request #290 from Ontos-AI/main
suguanYang Aug 14, 2026
6e81538
fix(ecs): preserve validated worker cpu capacity
suguanYang Aug 15, 2026
cd14ae9
Merge pull request #293 from Ontos-AI/fix/wangbinqi/worker-2vcpu-staging
suguanYang Aug 15, 2026
bafef80
Merge pull request #295 from Ontos-AI/main
suguanYang Aug 15, 2026
f87621c
Merge pull request #305 from Ontos-AI/main
suguanYang Aug 19, 2026
9d9b9e2
Merge pull request #308 from Ontos-AI/main
suguanYang Aug 19, 2026
2f5f72a
Merge pull request #309 from Ontos-AI/main
suguanYang Aug 20, 2026
62efb50
Merge pull request #314 from Ontos-AI/main
suguanYang Aug 20, 2026
69c557e
Merge pull request #320 from Ontos-AI/main
suguanYang Aug 24, 2026
9a16786
Merge pull request #326 from Ontos-AI/main
suguanYang Aug 25, 2026
74de156
Merge pull request #328 from Ontos-AI/main
suguanYang Aug 25, 2026
9d92a28
Merge pull request #339 from Ontos-AI/main
suguanYang Aug 27, 2026
3aee5e6
Merge pull request #345 from Ontos-AI/main
suguanYang Aug 28, 2026
8e5dbd9
Merge pull request #349 from Ontos-AI/main
suguanYang Aug 28, 2026
9315258
Merge pull request #358 from Ontos-AI/main
suguanYang Aug 31, 2026
f8a2941
Merge pull request #363 from Ontos-AI/main
suguanYang Aug 31, 2026
abf5973
Merge pull request #369 from Ontos-AI/main
suguanYang Sep 1, 2026
ba1225e
Merge pull request #376 from Ontos-AI/main
suguanYang Sep 1, 2026
cc4690c
perf(retrieval): add content trigram index for regex grep
suguanYang Sep 6, 2026
80a93e9
Merge pull request #384 from Ontos-AI/perf/wangbinqi/content-trigram-…
suguanYang Sep 6, 2026
c0a2442
chore: resolve staging and main migration conflicts
suguanYang Sep 7, 2026
2ad2035
fix: remove unused merge migration import
suguanYang Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
"""Add trigram acceleration for regex searches over published chunk content."""

from __future__ import annotations

from typing import Sequence

from alembic import op


revision: str = "0a1b2c3d4e5f"
down_revision: str | None = "9f0a1b2c3d4e"
branch_labels: Sequence[str] | None = None
depends_on: Sequence[str] | None = None

_INDEX_NAME = "idx_document_chunks_content_trgm"


def upgrade() -> None:
op.execute("CREATE EXTENSION IF NOT EXISTS pg_trgm")
external_transaction = bool(
op.get_context().opts.get("knowhere_external_transaction", False)
)
if external_transaction:
op.execute(
f"CREATE INDEX IF NOT EXISTS {_INDEX_NAME} "
"ON document_chunks USING gin (content gin_trgm_ops) "
"WHERE content IS NOT NULL"
)
return
with op.get_context().autocommit_block():
op.execute(
f"CREATE INDEX CONCURRENTLY IF NOT EXISTS {_INDEX_NAME} "
"ON document_chunks USING gin (content gin_trgm_ops) "
"WHERE content IS NOT NULL"
)


def downgrade() -> None:
external_transaction = bool(
op.get_context().opts.get("knowhere_external_transaction", False)
)
if external_transaction:
op.execute(f"DROP INDEX IF EXISTS {_INDEX_NAME}")
return
with op.get_context().autocommit_block():
op.execute(f"DROP INDEX CONCURRENTLY IF EXISTS {_INDEX_NAME}")
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""Merge the retrieval index migration branches."""

from __future__ import annotations

from collections.abc import Sequence

revision: str = "d3e4f5a6b7c8"
down_revision: tuple[str, str] = (
"0a1b2c3d4e5f",
"c2d3e4f5a6b7",
)
branch_labels: Sequence[str] | None = None
depends_on: Sequence[str] | None = None


def upgrade() -> None:
"""Merge migration heads without applying additional schema changes."""


def downgrade() -> None:
"""Split the migration graph back into its two parent heads."""
22 changes: 22 additions & 0 deletions apps/api/tests/migrations/test_schema_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,28 @@ def test_should_index_document_chunks_in_lazy_section_order(
)


def test_should_create_content_trigram_index_for_regex_search(
migrated_head_engine: Engine,
) -> None:
with migrated_head_engine.begin() as connection:
index_definition = connection.execute(
text(
"""
SELECT pg_get_indexdef(indexes.indexrelid)
FROM pg_index AS indexes
JOIN pg_class AS classes ON classes.oid = indexes.indexrelid
JOIN pg_namespace AS namespaces ON namespaces.oid = classes.relnamespace
WHERE namespaces.nspname = current_schema()
AND classes.relname = 'idx_document_chunks_content_trgm'
"""
)
).scalar_one()

definition = str(index_definition)
assert "USING gin (content gin_trgm_ops)" in definition
assert "WHERE (content IS NOT NULL)" in definition


def test_should_create_token_leading_map_unit_covering_index(
migrated_head_engine: Engine,
) -> None:
Expand Down
Loading