[geaflow/ai-memory] Add quarantine and dead-letter queue contracts
- Dominant language
- Java
- Stars
- 808
- Forks
- 188
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 2
Description
Priority: P1
Difficulty: Intermediate
Context: Invalid or low-confidence extraction should not be silently discarded or written as facts. Phase 1 needs quarantine visibility.
Scope:
- Add `QuarantineRecord` and `DeadLetterSink` interfaces.
- Add local JSONL dead-letter sink for tests.
- Add tests for invalid schema, low confidence, resolver ambiguity, and model malformed output.
Constraints:
- No production message queue integration.
- Dead-letter logs must redact raw private text unless explicitly configured for local tests.
Acceptance Criteria:
- Invalid facts are routed to quarantine with reason and provenance.
- Reprocessing a dead-letter record is possible using fixture data.
Suggested paths:
- `geaflow-ai/src/main/java/org/apache/geaflow/ai/quarantine`
Contributor guide
Research direction
Start in geaflow-ai/src/main/java/org/apache/geaflow/ai/quarantine and inspect the existing AI-memory extraction and validation flow before defining the contracts. Add the local JSONL sink and tests for the four listed failure cases, then verify quarantine records retain reason and provenance, private text is redacted by default, and fixture data can support reprocessing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- ai, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 63/100