Repository navigation
Replies: 1 comment
|
I support the bounded core change proposed here. The evidence-loss problem is reproducible, and whole-excerpt retention plus atomic persistence are appropriate for this scope. I independently reproduced both direct retrieval and delegated A few implementation-review criteria:
Core is justified because the change belongs inside the native batch finalization transaction. No architectural blocker found for this scope. I saw the update in #6405 that the implementation and regression tests are already completed locally. The upcoming PR should be reviewed against these criteria; this assessment verifies the existing gap and proposed design, not the unpublished implementation or its reported validation totals. |
Uh oh!
There was an error while loading. Please reload this page.
Scope proposal for #6405, opened here because the feature-request form asks for an Ideas discussion before implementation. This is the same proposal, not a second workstream.
Before you start
Problem / motivation
At official main
042f15249da9fad1894905d2a751cb8a00fba6f2, a durable research item can return#knowledge-<id>citations, but its JSONL result contains only the report text. The evidence excerpts captured by the child are lost after the worker/registry is gone. Unlike ordinarytaskresults, the exported batch result cannot be audited against the exact retrieved text the model used.The current RAGFlow guide explicitly excludes durable batches from source-artifact forwarding. This is a bounded follow-up to #5551's verifiable evidence protocol, not a replacement knowledge provider or batch scheduler.
Reproduced offline through the production RAGFlow formatter, real ToolMessage/step capture, production batch worker, SQLite engine teardown/reopen, and the existing owner-scoped JSONL export. The report survives; its evidence artifact is absent. Both direct knowledge-search and already-delegated task evidence exhibit the gap. External model/provider execution was replaced by a deterministic result at the executor boundary; no live RAGFlow or model call was made.
Proposed solution
result_artifactto durable batch items, with an additive Alembic migration. Existing rows remain readable with no evidence snapshot; no historical backfill or fresh provider fetch.taskevidence. Preserve source IDs and entire excerpts; omit records that cannot fit instead of shortening text under an existing ID.max_result_charssetting and cap records at the existing 100-source forwarding limit. Explicitly count budget omissions.results.jsonl. Keep compact item previews and progress responses unchanged; no new document proxy or provider credentials.Acceptance / scope
A caller submits independent knowledge research items, retrieves the existing JSONL export after restart, and resolves each retained citation ID to its original bounded excerpt and provider locator. Reopening the database must not require the provider, worker or in-memory registry. Cover owner/thread rejection, compact projections, plain/legacy results, budget/truncated reports, cancellation, stale leases, retries and migration preservation.
This stage is an export/API capability. No batch-panel citation dialog, new model-facing results tool, arbitrary artifact persistence, execution/retry/acceptance policy change, or model-quality claim. Core is appropriate because this changes the native batch worker and durable result contract; an extension cannot update their lease-fenced persistence atomically.
Alternatives considered
Affected area(s)
Backend API (additive JSONL field), Agents / LangGraph, SQL persistence, docs/tests.
All reactions