[geaflow/ai-memory] Add idempotency key generation for extracted facts
- 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
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