apache / apache/geaflow

[geaflow/ai-memory] Add idempotency key generation for extracted facts

Open
#845 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
808
Forks
188
Avg merge
3d 22h
Merged PRs (30d)
2

Description

Priority: P0
Difficulty: Starter

Context: Replaying document ingestion must not duplicate vertices, edges, triples, chunks, or evidence records.

Scope:

- Define idempotency key inputs for vertex facts, edge facts, triple facts, and chunk records.
- Add deterministic tests for repeated import, reordered properties, and schema version change.

Constraints:

- Do not rely on Java object identity or insertion order.
- Do not include wall-clock time in keys.

Acceptance Criteria:

- Equivalent facts produce same key.
- Different schema version or source span changes key when expected.

Suggested paths:

- `geaflow-ai/src/main/java/org/apache/geaflow/ai/common/id`

Contributor guide

Open the contributing guide

Research direction

Start in geaflow-ai/src/main/java/org/apache/geaflow/ai/common/id and trace how extracted vertex, edge, triple, and chunk facts are represented during document ingestion. Define the key inputs without object identity, insertion order, or wall-clock time, then add deterministic tests covering repeated imports, reordered properties, and schema-version or source-span changes. Done means equivalent facts share keys while expected changes produce different keys.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.