@absolutejs/rag 0.22.15 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,18 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.24.0 — 2026-11-03
10
+
11
+ ### Added
12
+
13
+ - **Bounded review batches with durable unreviewed drafts, fenced host checkpoints, explicit resume and preserved partial verdicts.** (`createResearch`, `ResearchConfig`, `ResearchInput`, `ResearchResult`, `ResearchReviewCheckpoint`)
14
+
15
+ ## 0.23.0 — 2026-11-02
16
+
17
+ ### Added
18
+
19
+ - **Opt-in bounded evidence correction with fresh independent review, reserved retrieval, retained review history and atomic collection fact coverage.** (`createResearch`, `ResearchConfig`, `ResearchResult`, `ResearchTask`)
20
+
9
21
  ## 0.22.15 — 2026-11-01
10
22
 
11
23
  ### Fixed
package/RESEARCH.md CHANGED
@@ -305,3 +305,44 @@ to a different model. A stronger reviewer does not repair missing retrieval.
305
305
  An invalid planner schema no longer discards retrieved evidence: extraction and
306
306
  review continue without retry, while the result remains partial and the failed
307
307
  plan retains unknown settlement. Budget denial and cancellation still stop work.
308
+
309
+ ## Correcting reviewed evidence gaps
310
+
311
+ Set `evidenceRepairs: 1` (maximum 2, default 0) to allow a bounded correction after incomplete collection coverage or rejected fields. `repairSearches` and `repairReads` reserve part of the existing total retrieval limits for review-identified gaps; they do not increase those limits. Each correction extracts again and independently reviews every new leaf. Drafts and review reasons are hints, never evidence. `reviewPasses` retains the reviewed drafts and coverage for audit. Provider failures and admission denial stop work without automatic replay.
312
+
313
+ Collection tasks can set `minimumSupportedFields: { qualificationFacts: 1 }` alongside `requiredFields: ["name", "website"]` to require a minimum number of supported string leaves in an atomic fact array. Unsupported leaves remain rejected; callers must project only supported fields when `data` is null.
314
+
315
+ Budget for each correction's optional retrieval plan, extraction and review, including configured schema repairs. Every model and retrieval operation follows the same admission and settlement path as initial research. Correction is disabled unless explicitly configured.
316
+
317
+ ## Durable batched review (0.24)
318
+
319
+ Review now runs in small field batches rather than requiring the complete review
320
+ in one model response. `reviewOutputTokens` defaults to the smaller of the global
321
+ output limit and 2,048; `reviewBatchSize` defaults to 12 and is further bounded to
322
+ one field per 256 output tokens (eight fields at the default review ceiling).
323
+ Price every batch, validation repair and evidence-correction pass separately.
324
+ `limits.fields` bounds work per review attempt; excess fields remain in the draft
325
+ for explicit continuation, rather than invalidating the extraction.
326
+
327
+ `result.draft` is **unreviewed**, never a supported answer. Only `fields` carry
328
+ review verdicts; `data` still requires all fields to pass. `documents` retain
329
+ original text for both search snippets and fetched pages independently of the
330
+ model-facing excerpt allowance.
331
+
332
+ For durable operation, supply `input.onReviewCheckpoint` and await a tenant-bound,
333
+ compare-and-swap write in that callback. The runtime calls it before extraction,
334
+ before each review batch, and after each completed batch. Persistence failure
335
+ stops execution. Reopen trusted stored state with `input.resumeReview` to reuse
336
+ sources, extraction and completed batches. Task/model/batch identity must match.
337
+ Checkpoints and drafts are private host state, never client-supplied proof.
338
+
339
+ A `pending` checkpoint cannot resume: the provider outcome or checkpoint write
340
+ requires reconciliation. Admission denial leaves a safe continuation. A host
341
+ using its own metering may implement `isReviewFailureSettled` only when it can
342
+ prove the failed generation completed and its usage is durably accounted for;
343
+ this hook also applies to extraction failures. It never triggers an automatic
344
+ retry. Package-budget failures remain conservatively pending. `finished` means
345
+ review processing finished, not that every claim was supported. Reopening a
346
+ finished checkpoint performs no provider work. Checkpoints during evidence
347
+ correction remain pending until the new extraction is safely retained, preventing
348
+ replay of uncertain correction calls.
package/changelog.json CHANGED
@@ -2,6 +2,39 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/rag",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "kind": "added",
9
+ "summary": "Bounded review batches with durable unreviewed drafts, fenced host checkpoints, explicit resume and preserved partial verdicts.",
10
+ "symbols": [
11
+ "createResearch",
12
+ "ResearchConfig",
13
+ "ResearchInput",
14
+ "ResearchResult",
15
+ "ResearchReviewCheckpoint"
16
+ ]
17
+ }
18
+ ],
19
+ "date": "2026-11-03",
20
+ "version": "0.24.0"
21
+ },
22
+ {
23
+ "changes": [
24
+ {
25
+ "kind": "added",
26
+ "summary": "Opt-in bounded evidence correction with fresh independent review, reserved retrieval, retained review history and atomic collection fact coverage.",
27
+ "symbols": [
28
+ "createResearch",
29
+ "ResearchConfig",
30
+ "ResearchResult",
31
+ "ResearchTask"
32
+ ]
33
+ }
34
+ ],
35
+ "date": "2026-11-02",
36
+ "version": "0.23.0"
37
+ },
5
38
  {
6
39
  "changes": [
7
40
  {