apache / apache/geaflow

[geaflow/ai-memory] Add quarantine and dead-letter queue contracts

Open
#846 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: 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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.