Files
SuperBizAgent-java/openspec/changes/archive/2026-07-27-rag-chunk-evidence-identity-dedup/tasks.md
T
zhuyongxin ac1f831903 feat(rag): chunk evidence identity, dedup, and search port
Preserve same-document multi-chunk evidence with evidenceKey identity,
per-document caps, retrieve-k/return-n split, and a dense KnowledgeSearchPort.
Archives Delivery 1 OpenSpec change as the foundation for hybrid retrieval.
2026-07-27 18:26:15 +08:00

1.8 KiB

Tasks: rag-chunk-evidence-identity-dedup

1. Identity model

  • 1.1 Add docId, chunkIndex, evidenceKey to RetrievedEvidenceCandidate and EvidenceBlock
  • 1.2 Implement shared identity helper (docId#chunk-N / vector:{id} / rank:{n})
  • 1.3 Extract identity in KnowledgeDocumentRetriever (or search-port mapper) from metadata

2. Search port boundary

  • 2.1 Add KnowledgeSearchPort, KnowledgeSearchRequest, KnowledgeSearchHit
  • 2.2 Implement dense adapter delegating to VectorSearchService
  • 2.3 Wire retriever to port; keep tool orchestration free of SDK details

3. Post-process dedup and caps

  • 3.1 Change dedup key to evidenceKey
  • 3.2 Add rag.max-chunks-per-document (default 2)
  • 3.3 Apply rag.return-n truncation after ranking/dedup/cap
  • 3.4 Keep score-threshold / relevance behavior unchanged except ordering inputs

4. Lookup config

  • 4.1 Add rag.retrieve-k and rag.return-n with legacy rag.top-k fallback
  • 4.2 Use retrieve-k for search port calls in LookupKnowledgeTool

5. Projector alignment

  • 5.1 Prefer evidenceKey / chunk-scoped id as projected document_id
  • 5.2 Stop dropping second evidence solely because source matches
  • 5.3 Keep existing budget/truncation behavior

6. Tests

  • 6.1 Update LookupKnowledgeToolTest source-dedup case to chunk-preserving behavior
  • 6.2 Add post-processor tests: multi-chunk keep, true-dup merge, maxChunksPerDocument
  • 6.3 Update/add RagResultProjectorTest for same-source multi-chunk projection
  • 6.4 Add search-port adapter smoke test if practical

7. Verification

  • 7.1 Run targeted unit tests for lookup / post-processor / projector
  • 7.2 Mark tasks complete and note any residual risks for Delivery 2