Commit graph

4857 commits

Author SHA1 Message Date
Andrej Milicevic
3820988cb3 fix: fix session tests 2026-01-15 20:34:39 +01:00
Andrej Milicevic
d180e2aeae feat: enable batch queries on graph completion retrievers 2026-01-15 13:41:19 +01:00
Andrej Milicevic
2cdbc02b35 chore: merge dev 2026-01-14 15:54:11 +01:00
Andrej Milicevic
67dfb37709 feat: add multi user for PGVector, and enable the usage of PGVector with SQLite 2026-01-14 15:52:08 +01:00
Igor Ilic
4765f9e4a0
feat: multiquery triplet search (#1991)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->
- Adds batch search support to `brute_force_triplet_search` with a new
`query_batch` parameter that accepts a list of queries in addition to
the existing single `query` parameter.
- Introduces a new `NodeEdgeVectorSearch` class that encapsulates vector
search operations, handling embedding and distance retrieval for both
single-query and batch-query modes.
- Returns `List[List[Edge]]` (one list per query) when using
`query_batch`, instead of the single `List[Edge]` format used for single
queries.
- Adds comprehensive test coverage including new test files and cases
for the `NodeEdgeVectorSearch` class, batch search functionality, and
edge cases for both single and batch modes.
- Refactors code by extracting vector search logic into the new class
and adding a helper function `_get_top_triplet_importances` to reduce
code duplication and improve maintainability.
## Acceptance Criteria
<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
* Include instructions on how to verify the changes. Describe how to
test it locally;
* Proof that it's sufficiently tested.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [x] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [x] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added batch-query support to triplet search; batch returns per-query
nested results while single-query remains flat.
* Introduced a unified vector search controller to embed queries and
retrieve node/edge distances across collections.

* **Bug Fixes**
* Improved input validation and safer error handling for missing
collections and batch failures.
  * Stopped adding duplicate skeleton edge links after edge creation.

* **Tests**
* Added comprehensive unit and integration tests covering single/batch
flows and edge cases.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-14 14:40:29 +01:00
Igor Ilic
f09f66e90d
feat: Remove combined search (#1990)
- Remove use_combined_context parameter from search functions
- Remove CombinedSearchResult class from types module
- Update API routers to remove combined search support
- Remove prepare_combined_context helper function
- Update tutorial notebook to remove use_combined_context usage
- Simplify search return types to always return List[SearchResult]

This removes the combined search feature which aggregated results across
multiple datasets into a single response. Users can still search across
multiple datasets and get results per dataset.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

## Acceptance Criteria
<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
* Include instructions on how to verify the changes. Describe how to
test it locally;
* Proof that it's sufficiently tested.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Breaking Changes**
* Search API response simplified: combined-context result type removed
and the legacy combined-context request flag eliminated, changing
response shapes.

* **New Features**
  * dataset_name added to each search result for clearer attribution.

* **Refactor**
* Search logic and return shapes streamlined for access-control and
per-dataset flows; telemetry and request parameters aligned.

* **Tests**
* Combined-context related tests removed or updated to reflect
simplified behavior.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-14 11:31:31 +01:00
Igor Ilic
a27b4b5cd0 refactor: Add back verbose parameter to search 2026-01-13 21:11:57 +01:00
vasilije
bd03a43efa add fix 2026-01-13 17:56:55 +01:00
Vasilije
2b5804f2de
Merge branch 'dev' into remove-combined-search 2026-01-13 17:49:07 +01:00
Vasilije
d341aeabf4
Merge branch 'dev' into feature/cog-3504-multiquery-triplet-search 2026-01-13 17:47:35 +01:00
Igor Ilic
dd16ba89c3
Main merge vol9 (#1994)
<!-- .github/pull_request_template.md -->

## Description
Resolve conflict and merge commits from main to dev

## Acceptance Criteria
<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
* Include instructions on how to verify the changes. Describe how to
test it locally;
* Proof that it's sufficiently tested.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Add top_k to control number of search results
* Add verbose option to include/exclude detailed graphs in search output

* **Improvements**
  * Examples now use pretty-printed output for clearer readability
* Startup handles migration failures more gracefully with a fallback
initialization path

* **Documentation**
* Updated contributing guidance and added explicit run instructions for
examples

* **Chores**
  * Project version bumped to 0.5.1
  * Adjusted frontend framework version constraint

* **Tests**
  * Updated tests to exercise verbose search behavior

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-13 17:28:03 +01:00
Igor Ilic
48c8a2996f test: Update test search options with verbose mode 2026-01-13 16:27:58 +01:00
lxobr
08779398b0 fix: deduplicate skeleton edges 2026-01-13 16:15:49 +01:00
Igor Ilic
dce51efbe3 chore: ruff format and refactor on contributor PR 2026-01-13 15:10:21 +01:00
Igor Ilic
0d2f66fa1d
Merge branch 'dev' into main-merge-vol9 2026-01-13 15:00:29 +01:00
Igor Ilic
9e5ecffc6e chore: Update test 2026-01-13 14:55:19 +01:00
Vasilije
114b56d829
feat: Add usage frequency tracking for graph elements (#1992)
## Description

This PR adds usage frequency tracking to help identify which graph
elements (nodes) are most frequently accessed during user searches.

**Related Issue:** Closes [#1458]
**The Problem:**
When users search repeatedly, we had no way to track which pieces of
information were being referenced most often. This made it impossible
to:
- Prioritize popular content in search results
- Understand which topics users care about most
- Improve retrieval by boosting frequently-used nodes

**The Solution:**
I've implemented a system that tracks usage patterns by:
1. Leveraging the existing `save_interaction=True` flag in
`cognee.search()` which creates `CogneeUserInteraction` nodes
2. Following the `used_graph_element_to_answer` edges to see which graph
elements each search referenced
3. Counting how many times each element was accessed within a
configurable time window (default: 7 days)
4. Writing a `frequency_weight` property back to frequently-accessed
nodes

This gives us a simple numeric weight on nodes that reflects real usage
patterns, which can be used to improve search ranking, analytics
dashboards, or identifying trending topics.

**Key Design Decisions:**
- Time-windowed counting (not cumulative) - focuses on recent usage
patterns
- Configurable minimum threshold - filters out noise from rarely
accessed nodes
- Neo4j-first implementation using Cypher queries - works with our
primary production database
- Documented Kuzu limitation - requires schema changes, leaving for
future work as acceptable per team discussion

The implementation follows existing patterns in Cognee's memify pipeline
and can be run as a scheduled task or on-demand.

**Known Limitations:**
**Kuzu adapter not currently supported** - Kuzu requires properties to
be defined in the schema at node creation time, so dynamic property
updates don't work. I'm opening a separate issue to track Kuzu support,
which will require schema modifications in the Kuzu adapter. For now,
this feature works with Neo4j (our primary production database).

**Follow-up Issue:** #1993 

## Acceptance Criteria

**Core Functionality:**
-  `extract_usage_frequency()` correctly counts node access frequencies
from interaction data
-  `add_frequency_weights()` writes `frequency_weight` property to
Neo4j nodes
-  Time window filtering works (only counts recent interactions)
-  Minimum threshold filtering works (excludes rarely-used nodes)
-  Element type distribution tracked for analytics
-  Gracefully handles unsupported adapters (logs warning, doesn't
crash)

**Testing Verification:**
1. Run the end-to-end example with Neo4j:
   ```bash
   # Update .env for Neo4j
   GRAPH_DATABASE_PROVIDER=neo4j
   GRAPH_DATASET_HANDLER=neo4j_aura_dev
   
   python extract_usage_frequency_examplepy
   ```
   Should show frequencies extracted and applied to nodes

2. Verify in Neo4j Browser (http://localhost:7474):
   ```cypher
   MATCH (n) WHERE n.frequency_weight IS NOT NULL 
   RETURN n.frequency_weight, labels(n), n.text 
   ORDER BY n.frequency_weight DESC LIMIT 10
   ```
   Should return nodes with frequency weights

3. Run unit tests:
   ```bash
   python test_usage_frequency.py
   ```
   All tests pass (tests are adapter-agnostic and test core logic)

4. Test graceful handling with unsupported adapter:
   ```bash
   # Update .env for Kuzu
   GRAPH_DATABASE_PROVIDER=kuzu
   GRAPH_DATASET_HANDLER=kuzu
   
   python extract_usage_frequency_example.py
   ```
   Should log warning about Kuzu not being supported but not crash

**Files Added:**
- `cognee/tasks/memify/extract_usage_frequency.py` - Core implementation
(215 lines)
- `extract_usage_frequency_example.py` - Complete working example with
documentation
- `test_usage_frequency.py` - Unit tests for core logic
- Test utilities and Neo4j setup scripts for local development

**Tested With:**
- Neo4j 5.x (primary target, fully working)
- Kuzu (gracefully skips with warning)
- Python 3.10, 3.11
- Existing Cognee interaction tracking (save_interaction=True)

**What This Solves:**
This directly addresses the need for usage-based ranking mentioned in
[#1458]. Now teams can:
- See which information gets referenced most in their knowledge base
- Build analytics dashboards showing popular topics
- Weight search results by actual usage patterns
- Identify content that needs improvement (low frequency despite high
relevance)

## Type of Change

- [x] New feature (non-breaking change that adds functionality)

## Screenshots
**Output from running the E2E example showing frequency extraction:**
<img width="1125" height="664" alt="image"
src="https://github.com/user-attachments/assets/455c1ee4-525d-498b-8219-8f12a15292eb"
/>
<img width="1125" height="664" alt="image"
src="https://github.com/user-attachments/assets/64d5da31-85db-427b-b4b4-df47a9c12d6f"
/>
<img width="822" height="456" alt="image"
src="https://github.com/user-attachments/assets/69967354-d550-4818-9aff-a2273e48c5f3"
/>


**Neo4j Browser verification:**
```
✓ Found 6 nodes with frequency_weight in Neo4j!
Sample weighted nodes:
  - Weight: 37, Type: ['DocumentChunk']
  - Weight: 30, Type: ['Entity']
```

## Pre-submission Checklist

- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## DCO Affirmation

I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added usage frequency extraction that aggregates interaction data and
weights frequently accessed graph elements.
* Frequency analysis supports configurable time windows, minimum
interaction thresholds, and element type filtering.
* Automatic frequency weight propagation to Neo4j, Kuzu, and generic
graph database backends.

* **Documentation**
* Added comprehensive example script demonstrating end-to-end usage
frequency extraction, weighting, and analysis.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-13 14:46:48 +01:00
Igor Ilic
86451cfbc2 chore: update test 2026-01-13 14:43:00 +01:00
Igor Ilic
3cfbaaaa9d chore: update lock file 2026-01-13 14:30:13 +01:00
Igor Ilic
dc48d2f992 refactor: set top_k value to 10 2026-01-13 14:24:31 +01:00
Igor Ilic
b689d330ac Merge branch 'main' into main-merge-vol9 2026-01-13 14:22:22 +01:00
lxobr
c609b73cda refactor: improve methods order 2026-01-13 11:22:04 +01:00
Christina_Raichel_Francis
a91d02cd71 Merge branch 'feature/graph-usage-frequency-tracking' into dev 2026-01-12 21:58:19 +00:00
Christina_Raichel_Francis
d09b6df241 feat: feat to support issue #1458 frequency weights addition for neo4j backend 2026-01-12 18:10:51 +00:00
lxobr
872795f0cc test: add integration test for brute_force_triplet_search 2026-01-12 18:16:30 +01:00
lxobr
e5d4100070 Merge branch 'dev' into feature/cog-3504-multiquery-support-in-brute_force_triplet_search 2026-01-12 15:09:47 +01:00
lxobr
1c8d0f6da1 chore: update tests and minor tweaks 2026-01-12 14:51:50 +01:00
lxobr
c20304a92a tests: update and expand test_brute_force_triplet_search.py and test_node_edge_vector_search.py 2026-01-12 14:40:55 +01:00
lxobr
7833189001 feat: enable batch search in brute_force_triplet_search 2026-01-12 14:40:17 +01:00
lxobr
5ac288afa3 chore: tweak type hints 2026-01-12 13:44:04 +01:00
lxobr
fce018d43d test: add tests for node_edge_vector_search.py 2026-01-12 13:38:24 +01:00
lxobr
701a92cdec feat: add batch search to node_edge_vector_search.py 2026-01-12 13:27:18 +01:00
vasilije
c2d8777aab test: remove obsolete combined search tests
- Remove 3 tests for use_combined_context from test_search.py
- Remove 1 test for use_combined_context from test_search_prepare_search_result_contract.py
- Simplify test_authorized_search_non_combined_delegates to test delegation only

These tests relied on the removed use_combined_context parameter and
CombinedSearchResult type. The functionality is no longer available
after removing combined search support.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-12 07:54:38 +01:00
vasilije
748b7aeaf5 refactor: remove combined search functionality
- Remove use_combined_context parameter from search functions
- Remove CombinedSearchResult class from types module
- Update API routers to remove combined search support
- Remove prepare_combined_context helper function
- Update tutorial notebook to remove use_combined_context usage
- Simplify search return types to always return List[SearchResult]

This removes the combined search feature which aggregated results
across multiple datasets into a single response. Users can still
search across multiple datasets and get results per dataset.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-12 07:43:57 +01:00
vasilije
ab990f7c5c docs: add CLAUDE.md for Claude Code guidance
Add comprehensive CLAUDE.md file to guide future Claude Code instances working in this repository. Includes:
- Development commands (setup, testing, code quality)
- Architecture overview (ECL pipeline, data flows, key patterns)
- Complete configuration guide (LLM providers, databases, storage)
- All 15 search types with descriptions
- Extension points for custom functionality
- Troubleshooting common issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-11 16:04:11 +01:00
Vasilije
861c5e33da
refactor: add type hints for user_id and visualization server args (#1987)
<!-- .github/pull_request_template.md -->

## Description
Resolves #1986 

I addressed all `ANN001` errors in `cognee/shared/utils.py`.
Updated functions:
1. send_telemetry
2. start_visualization_server
3. _sanitize_nested_properties
4. embed_logo

While fixing these errors, i've noticed that the `send_telemetry`
function lacked a type hint for `user_id`. After analyzing the `User`
models and usage patterns in the codebase, I found that `user_id` is not
strictly a `str` but can also be a `uuid.UUID` object.

Therefore, I updated the type hint to `Union[str, uuid.UUID]` (importing
`uuid` and `typing.Union`) to accurately reflect the data structure and
improve type safety.

## Acceptance Criteria
* [x] The code passes static analysis (`ruff`) without `ANN001` errors
in `cognee/shared/utils.py`.
* [x] Correct imports (`uuid`, `Union`) are added and sorted.

[Check Steps]
1. Run 'uv run ruff check cognee/shared/utils.py --select ANN001'
5. Expected result: No errors found.

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [x] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Refactor**
* Improved type annotations across telemetry and sanitization utilities
for safer handling of IDs and nested properties.
* Ensured additional properties are sanitized before telemetry is sent.
* Added explicit type hints for visualization startup and logo embedding
parameters for clearer IDE support.

This release contains no user-facing changes.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-10 15:27:52 +01:00
HectorSin
4189cda895 refactor: simplify type hint and add return type for sanitize function
Signed-off-by: HectorSin <kkang15634@ajou.ac.kr>
2026-01-10 21:25:25 +09:00
HectorSin
da5660b716 refactor: fix mutable default argument in send_telemetry
Signed-off-by: HectorSin <kkang15634@ajou.ac.kr>
2026-01-10 21:21:04 +09:00
HectorSin
46c12cc0ee refactor: resolve remaining ANN001 errors in utils.py
Signed-off-by: HectorSin <kkang15634@ajou.ac.kr>
2026-01-10 21:13:10 +09:00
HectorSin
ebf2aaaa5c refactor: add type hint for handler_class
Signed-off-by: HectorSin <kkang15634@ajou.ac.kr>
2026-01-10 20:58:08 +09:00
HectorSin
f73457ef72 refactor: add type hints for user_id and visualization server args
Signed-off-by: HectorSin <kkang15634@ajou.ac.kr>
2026-01-10 20:29:50 +09:00
Vasilije
2c23063da7
fix: Better error message if cognee is run without cognee.add and cognee.cognify (#1940)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

## Acceptance Criteria
<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
* Include instructions on how to verify the changes. Describe how to
test it locally;
* Proof that it's sufficiently tested.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved error messaging in search functionality with clearer,
actionable feedback when database or user configuration prerequisites
are not met
* Standardized error response format for consistent and informative
error reporting across search operations

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-10 11:21:52 +01:00
Vasilije
f03ab671e6
fix: Remove Jon Doe enitity reference due to hallucination issues (#1939)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

## Acceptance Criteria
<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
* Include instructions on how to verify the changes. Describe how to
test it locally;
* Proof that it's sufficiently tested.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Clarifies and tightens coreference resolution guidance across
knowledge-graph prompt templates.
> 
> - Updates coreference rules to emphasize using the most complete,
human-readable identifiers consistently (`generate_graph_prompt*.txt`)
> - Tweaks examples, notably replacing the John Doe example with a
generic "X" case in the one-shot prompt
> - Minor wording/formatting cleanups; no code changes or logic
modifications
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
8499258272. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Refined entity resolution guidance in knowledge graph generation
prompts to use more generic instructions, improving flexibility and
consistency in how entities are identified throughout the system.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-10 08:49:23 +01:00
Vasilije
a3c04d30be
Merge branch 'dev' into COG-3283 2026-01-10 08:48:55 +01:00
Vasilije
7a421dd968
Chore: Update helm chart (#1984)
<!-- .github/pull_request_template.md -->

## Description
Updated example Helm chart:
* connected PostgreSQL + pgvector to Cognee
* Added required variables and secrets
* Tested with port forwarding
* Updated readme
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

## Acceptance Criteria
<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
* Include instructions on how to verify the changes. Describe how to
test it locally;
* Proof that it's sufficiently tested.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [x] Other (please specify): Cloud

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated deployment guide with example setup instructions, deployment
commands, and port forwarding details for local access.

* **Configuration**
  * Added LLM model and provider configuration settings.
* Enhanced deployment with environment variables and memory resource
limits.
  * Implemented secure secret management for API keys.
  * Adjusted resource allocations for services.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-09 19:16:45 +01:00
Pavel Zorin
fb4796204a Chore: Fix helm chart 2026-01-09 18:06:08 +01:00
Vasilije
6dc08eb5d0
Chore: Remove Lint and Format check in favor to pre-commit (#1983)
<!-- .github/pull_request_template.md -->

## Description
Removed `List and Format check` steps. It's all done by pre-commit
checks
## Acceptance Criteria
<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
* Include instructions on how to verify the changes. Describe how to
test it locally;
* Proof that it's sufficiently tested.
-->

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [x] Other (please specify): Dev Experience

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Streamlined the continuous integration workflow by removing redundant
job steps from the automated testing pipeline. Unit tests and
integration tests continue to run as expected.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-09 15:39:01 +01:00
lxobr
58dd518690 chore: update tests 2026-01-09 14:54:10 +01:00
lxobr
fad75e21c1 refactor: minor tweaks 2026-01-09 14:53:47 +01:00
Pavel Zorin
aeb2f39fd8 Chore: Remove Lint and Format check in favor to pre-commit 2026-01-09 14:15:36 +01:00