@getrift/rift 0.1.0-beta.12 → 0.1.0-beta.14
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/README.md +35 -9
- package/dist/src/cli/commands/doctor.d.ts +6 -0
- package/dist/src/cli/commands/doctor.d.ts.map +1 -0
- package/dist/src/cli/commands/doctor.js +183 -0
- package/dist/src/cli/commands/doctor.js.map +1 -0
- package/dist/src/cli/commands/menubar.d.ts +30 -0
- package/dist/src/cli/commands/menubar.d.ts.map +1 -0
- package/dist/src/cli/commands/menubar.js +180 -0
- package/dist/src/cli/commands/menubar.js.map +1 -0
- package/dist/src/cli/commands/onboard.d.ts +38 -0
- package/dist/src/cli/commands/onboard.d.ts.map +1 -1
- package/dist/src/cli/commands/onboard.js +203 -121
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/status.d.ts +9 -7
- package/dist/src/cli/commands/status.d.ts.map +1 -1
- package/dist/src/cli/commands/status.js +29 -10
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/update.d.ts +3 -0
- package/dist/src/cli/commands/update.d.ts.map +1 -1
- package/dist/src/cli/commands/update.js +19 -0
- package/dist/src/cli/commands/update.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +4 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/postinstall-menubar.d.ts +22 -0
- package/dist/src/cli/postinstall-menubar.d.ts.map +1 -0
- package/dist/src/cli/postinstall-menubar.js +39 -0
- package/dist/src/cli/postinstall-menubar.js.map +1 -0
- package/dist/src/cli/status/friend-header.d.ts +8 -1
- package/dist/src/cli/status/friend-header.d.ts.map +1 -1
- package/dist/src/cli/status/friend-header.js +93 -12
- package/dist/src/cli/status/friend-header.js.map +1 -1
- package/dist/src/cli/ui.d.ts +47 -0
- package/dist/src/cli/ui.d.ts.map +1 -0
- package/dist/src/cli/ui.js +166 -0
- package/dist/src/cli/ui.js.map +1 -0
- package/dist/src/diagnostics/doctor.d.ts +106 -0
- package/dist/src/diagnostics/doctor.d.ts.map +1 -0
- package/dist/src/diagnostics/doctor.js +251 -0
- package/dist/src/diagnostics/doctor.js.map +1 -0
- package/dist/src/diagnostics/notify.d.ts +90 -0
- package/dist/src/diagnostics/notify.d.ts.map +1 -0
- package/dist/src/diagnostics/notify.js +177 -0
- package/dist/src/diagnostics/notify.js.map +1 -0
- package/dist/src/diagnostics/repair-prompt.d.ts +49 -0
- package/dist/src/diagnostics/repair-prompt.d.ts.map +1 -0
- package/dist/src/diagnostics/repair-prompt.js +198 -0
- package/dist/src/diagnostics/repair-prompt.js.map +1 -0
- package/dist/src/jobs/handlers/dedupe-conversations.d.ts +25 -2
- package/dist/src/jobs/handlers/dedupe-conversations.d.ts.map +1 -1
- package/dist/src/jobs/handlers/dedupe-conversations.js +48 -9
- package/dist/src/jobs/handlers/dedupe-conversations.js.map +1 -1
- package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
- package/dist/src/jobs/handlers/ingest.js +8 -2
- package/dist/src/jobs/handlers/ingest.js.map +1 -1
- package/dist/src/main.js +43 -4
- package/dist/src/main.js.map +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +43 -3
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/context-pack.js +163 -25
- package/dist/src/mcp/tools/context-pack.js.map +1 -1
- package/dist/src/observability/onboarding-metric.d.ts +115 -0
- package/dist/src/observability/onboarding-metric.d.ts.map +1 -0
- package/dist/src/observability/onboarding-metric.js +344 -0
- package/dist/src/observability/onboarding-metric.js.map +1 -0
- package/dist/src/observability/version-check.d.ts +1 -0
- package/dist/src/observability/version-check.d.ts.map +1 -1
- package/dist/src/observability/version-check.js +2 -1
- package/dist/src/observability/version-check.js.map +1 -1
- package/dist/src/retrieval/context-pack.d.ts +37 -0
- package/dist/src/retrieval/context-pack.d.ts.map +1 -1
- package/dist/src/retrieval/context-pack.js +165 -1
- package/dist/src/retrieval/context-pack.js.map +1 -1
- package/dist/src/retrieval/current-truth.d.ts +326 -0
- package/dist/src/retrieval/current-truth.d.ts.map +1 -0
- package/dist/src/retrieval/current-truth.js +747 -0
- package/dist/src/retrieval/current-truth.js.map +1 -0
- package/dist/src/retrieval/git-state.d.ts +53 -0
- package/dist/src/retrieval/git-state.d.ts.map +1 -0
- package/dist/src/retrieval/git-state.js +174 -0
- package/dist/src/retrieval/git-state.js.map +1 -0
- package/dist/src/server/routes/friend-status.d.ts +63 -0
- package/dist/src/server/routes/friend-status.d.ts.map +1 -1
- package/dist/src/server/routes/friend-status.js +97 -0
- package/dist/src/server/routes/friend-status.js.map +1 -1
- package/operator/swiftbar/render-menu.py +444 -0
- package/operator/swiftbar/rift.10s.sh +147 -0
- package/package.json +4 -1
|
@@ -3,6 +3,8 @@ import { rerank } from "./reranker.js";
|
|
|
3
3
|
import { getTable } from "../storage/tables.js";
|
|
4
4
|
import { resolveCwdRoot } from "./cwd.js";
|
|
5
5
|
import { computeContentSize } from "./compact.js";
|
|
6
|
+
import { classifyClaimType, classifyEvidenceIntent, partitionEvidence, } from "./current-truth.js";
|
|
7
|
+
import { probeGitStates } from "./git-state.js";
|
|
6
8
|
// --- Locked caps ---
|
|
7
9
|
export const ITEM_TEXT_MAX = 200;
|
|
8
10
|
export const SNIPPET_MAX = 200;
|
|
@@ -112,14 +114,70 @@ export async function buildContextPack(opts) {
|
|
|
112
114
|
const examples = buildExamples(filterByRelevance(convByRelevance, EXAMPLES_RELEVANCE_FLOOR), convRows, maxPerBucket);
|
|
113
115
|
const rules = buildRules(docRankedClean, docRows, maxPerBucket);
|
|
114
116
|
const constraints = extractConstraints(docRankedForConstraints, docRows, maxPerBucket);
|
|
117
|
+
// Current Truth Mode v0/v1 — intent-aware evidence partition. Reuses
|
|
118
|
+
// the already-retrieved conv + doc hits; does not change ranking or
|
|
119
|
+
// fetch anything new. v1 adds the git-state probe below so file-backed
|
|
120
|
+
// evidence carries a tracked/untracked/modified/deleted/newer_on_disk
|
|
121
|
+
// signal into the partitioner. See src/retrieval/current-truth.ts +
|
|
122
|
+
// src/retrieval/git-state.ts.
|
|
123
|
+
const intent = classifyEvidenceIntent(opts.task);
|
|
124
|
+
const claimType = classifyClaimType(opts.task);
|
|
125
|
+
// v1: probe git state once per buildContextPack call. We only probe
|
|
126
|
+
// when a project root is available (opts.cwd) — without one, every
|
|
127
|
+
// path returns "unknown" anyway, and we'd be paying for a no-op git
|
|
128
|
+
// invocation. Conversations don't carry source_paths suitable for
|
|
129
|
+
// git probing, so the input set is just the document hits.
|
|
130
|
+
const gitStateInputs = [];
|
|
131
|
+
if (opts.cwd) {
|
|
132
|
+
for (const r of docRankedClean) {
|
|
133
|
+
const row = docRows.get(r.id);
|
|
134
|
+
const sourcePath = row?.["source_path"] || undefined;
|
|
135
|
+
if (!sourcePath)
|
|
136
|
+
continue;
|
|
137
|
+
const indexedAt = row?.["indexed_at"] || undefined;
|
|
138
|
+
gitStateInputs.push({ sourcePath, indexedAt });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const gitStateBySourcePath = opts.cwd
|
|
142
|
+
? probeGitStates(gitStateInputs, { projectRoot: opts.cwd })
|
|
143
|
+
: new Map();
|
|
144
|
+
const evidenceInputs = [
|
|
145
|
+
...convByRelevance.map((r) => ({
|
|
146
|
+
ranked: r,
|
|
147
|
+
row: convRows.get(r.id),
|
|
148
|
+
kind: "conversation",
|
|
149
|
+
})),
|
|
150
|
+
...docRankedClean.map((r) => {
|
|
151
|
+
const row = docRows.get(r.id);
|
|
152
|
+
const sourcePath = row?.["source_path"] || undefined;
|
|
153
|
+
const gs = sourcePath ? gitStateBySourcePath.get(sourcePath) : undefined;
|
|
154
|
+
const input = {
|
|
155
|
+
ranked: r,
|
|
156
|
+
row,
|
|
157
|
+
kind: "document",
|
|
158
|
+
};
|
|
159
|
+
if (gs)
|
|
160
|
+
input.gitState = gs;
|
|
161
|
+
return input;
|
|
162
|
+
}),
|
|
163
|
+
];
|
|
164
|
+
const partition = partitionEvidence(evidenceInputs, {
|
|
165
|
+
intent,
|
|
166
|
+
claimType,
|
|
167
|
+
maxPerSection: maxPerBucket,
|
|
168
|
+
...(opts.cwd ? { projectRoot: opts.cwd } : {}),
|
|
169
|
+
});
|
|
115
170
|
const assembled = enforceBudget({ decisions, constraints, examples, rules }, {
|
|
116
171
|
maxBytes,
|
|
117
172
|
task: opts.task,
|
|
173
|
+
intent,
|
|
174
|
+
partition,
|
|
118
175
|
degraded,
|
|
119
176
|
...(degradedReason ? { degradedReason } : {}),
|
|
120
177
|
});
|
|
121
178
|
const pack = {
|
|
122
179
|
task: opts.task,
|
|
180
|
+
intent,
|
|
123
181
|
decisions: assembled.decisions,
|
|
124
182
|
constraints: assembled.constraints,
|
|
125
183
|
examples: assembled.examples,
|
|
@@ -128,6 +186,20 @@ export async function buildContextPack(opts) {
|
|
|
128
186
|
truncated: assembled.truncated,
|
|
129
187
|
degraded,
|
|
130
188
|
};
|
|
189
|
+
if (assembled.partition.current_truth.length > 0)
|
|
190
|
+
pack.current_truth = assembled.partition.current_truth;
|
|
191
|
+
if (assembled.partition.past_reasoning.length > 0)
|
|
192
|
+
pack.past_reasoning = assembled.partition.past_reasoning;
|
|
193
|
+
if (assembled.partition.older_memory.length > 0)
|
|
194
|
+
pack.older_memory = assembled.partition.older_memory;
|
|
195
|
+
if (assembled.partition.discounted.length > 0)
|
|
196
|
+
pack.discounted = assembled.partition.discounted;
|
|
197
|
+
if (assembled.partition.recommended_live_files.length > 0)
|
|
198
|
+
pack.recommended_live_files = assembled.partition.recommended_live_files;
|
|
199
|
+
if (assembled.partition.conflicts.length > 0)
|
|
200
|
+
pack.conflicts = assembled.partition.conflicts;
|
|
201
|
+
if (assembled.partition.current_truth_caveat)
|
|
202
|
+
pack.current_truth_caveat = assembled.partition.current_truth_caveat;
|
|
131
203
|
if (degradedReason)
|
|
132
204
|
pack.degraded_reason = degradedReason;
|
|
133
205
|
return pack;
|
|
@@ -412,8 +484,64 @@ function enforceBudget(input, ctx) {
|
|
|
412
484
|
examples: [],
|
|
413
485
|
rules: [],
|
|
414
486
|
};
|
|
487
|
+
// Current-truth-mode partition shares the same byte budget. We seed
|
|
488
|
+
// outputs with copies and copy-back any items that fit. Recommended
|
|
489
|
+
// live files are small and high-value — fill first.
|
|
490
|
+
const partitionOut = {
|
|
491
|
+
current_truth: [],
|
|
492
|
+
past_reasoning: [],
|
|
493
|
+
older_memory: [],
|
|
494
|
+
discounted: [],
|
|
495
|
+
recommended_live_files: [],
|
|
496
|
+
conflicts: [],
|
|
497
|
+
...(ctx.partition.current_truth_caveat
|
|
498
|
+
? { current_truth_caveat: ctx.partition.current_truth_caveat }
|
|
499
|
+
: {}),
|
|
500
|
+
};
|
|
501
|
+
const partitionQueues = {
|
|
502
|
+
current_truth: [...ctx.partition.current_truth],
|
|
503
|
+
past_reasoning: [...ctx.partition.past_reasoning],
|
|
504
|
+
older_memory: [...ctx.partition.older_memory],
|
|
505
|
+
discounted: [...ctx.partition.discounted],
|
|
506
|
+
recommended_live_files: [...ctx.partition.recommended_live_files],
|
|
507
|
+
conflicts: [...ctx.partition.conflicts],
|
|
508
|
+
};
|
|
415
509
|
let totalBytes = envelopeBytes(output, ctx);
|
|
416
510
|
let truncated = false;
|
|
511
|
+
// Pass 1: conflicts + recommended_live_files — small, high-value entries
|
|
512
|
+
// the asker needs first (a surfaced conflict is the whole point of the
|
|
513
|
+
// mode). Fill conflicts before live files; both before the bulk buckets.
|
|
514
|
+
while (partitionQueues.conflicts.length > 0) {
|
|
515
|
+
const item = partitionQueues.conflicts[0];
|
|
516
|
+
const added = itemBytes(item);
|
|
517
|
+
if (totalBytes + added > maxBytes) {
|
|
518
|
+
truncated = true;
|
|
519
|
+
break;
|
|
520
|
+
}
|
|
521
|
+
partitionQueues.conflicts.shift();
|
|
522
|
+
partitionOut.conflicts.push(item);
|
|
523
|
+
totalBytes += added;
|
|
524
|
+
}
|
|
525
|
+
while (partitionQueues.recommended_live_files.length > 0) {
|
|
526
|
+
const item = partitionQueues.recommended_live_files[0];
|
|
527
|
+
const added = itemBytes(item);
|
|
528
|
+
if (totalBytes + added > maxBytes) {
|
|
529
|
+
truncated = true;
|
|
530
|
+
break;
|
|
531
|
+
}
|
|
532
|
+
partitionQueues.recommended_live_files.shift();
|
|
533
|
+
partitionOut.recommended_live_files.push(item);
|
|
534
|
+
totalBytes += added;
|
|
535
|
+
}
|
|
536
|
+
// Pass 2: round-robin across legacy buckets and partition sections so
|
|
537
|
+
// every section gets a fair shot even when one would otherwise crowd
|
|
538
|
+
// the budget.
|
|
539
|
+
const partitionOrder = [
|
|
540
|
+
"current_truth",
|
|
541
|
+
"past_reasoning",
|
|
542
|
+
"older_memory",
|
|
543
|
+
"discounted",
|
|
544
|
+
];
|
|
417
545
|
let progressed = true;
|
|
418
546
|
while (progressed) {
|
|
419
547
|
progressed = false;
|
|
@@ -432,6 +560,21 @@ function enforceBudget(input, ctx) {
|
|
|
432
560
|
totalBytes += addedBytes;
|
|
433
561
|
progressed = true;
|
|
434
562
|
}
|
|
563
|
+
for (const key of partitionOrder) {
|
|
564
|
+
const q = partitionQueues[key];
|
|
565
|
+
if (q.length === 0)
|
|
566
|
+
continue;
|
|
567
|
+
const item = q[0];
|
|
568
|
+
const added = itemBytes(item);
|
|
569
|
+
if (totalBytes + added > maxBytes) {
|
|
570
|
+
truncated = true;
|
|
571
|
+
continue;
|
|
572
|
+
}
|
|
573
|
+
q.shift();
|
|
574
|
+
partitionOut[key].push(item);
|
|
575
|
+
totalBytes += added;
|
|
576
|
+
progressed = true;
|
|
577
|
+
}
|
|
435
578
|
}
|
|
436
579
|
// Any items still sitting in the queues were dropped for budget.
|
|
437
580
|
for (const key of order) {
|
|
@@ -440,11 +583,24 @@ function enforceBudget(input, ctx) {
|
|
|
440
583
|
break;
|
|
441
584
|
}
|
|
442
585
|
}
|
|
586
|
+
if (!truncated) {
|
|
587
|
+
for (const key of partitionOrder) {
|
|
588
|
+
if (partitionQueues[key].length > 0) {
|
|
589
|
+
truncated = true;
|
|
590
|
+
break;
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
if (partitionQueues.recommended_live_files.length > 0)
|
|
594
|
+
truncated = true;
|
|
595
|
+
if (partitionQueues.conflicts.length > 0)
|
|
596
|
+
truncated = true;
|
|
597
|
+
}
|
|
443
598
|
return {
|
|
444
599
|
decisions: output.decisions,
|
|
445
600
|
constraints: output.constraints,
|
|
446
601
|
examples: output.examples,
|
|
447
602
|
rules: output.rules,
|
|
603
|
+
partition: partitionOut,
|
|
448
604
|
totalBytes,
|
|
449
605
|
truncated,
|
|
450
606
|
};
|
|
@@ -453,9 +609,11 @@ function envelopeBytes(buckets, ctx) {
|
|
|
453
609
|
// Full serialized response envelope, including echoed `task`, `degraded`
|
|
454
610
|
// flags, and a worst-case integer placeholder for `total_bytes`. Used as
|
|
455
611
|
// the starting-point byte count so `max_bytes` bounds the whole payload,
|
|
456
|
-
// not just the bucket contents.
|
|
612
|
+
// not just the bucket contents. The intent field is small but
|
|
613
|
+
// included so the budget reflects its real serialized cost.
|
|
457
614
|
const envelope = {
|
|
458
615
|
task: ctx.task,
|
|
616
|
+
intent: ctx.intent,
|
|
459
617
|
decisions: buckets.decisions,
|
|
460
618
|
constraints: buckets.constraints,
|
|
461
619
|
examples: buckets.examples,
|
|
@@ -464,6 +622,12 @@ function envelopeBytes(buckets, ctx) {
|
|
|
464
622
|
truncated: true,
|
|
465
623
|
degraded: ctx.degraded,
|
|
466
624
|
};
|
|
625
|
+
// v2: the caveat is a fixed-size string that always ships when set;
|
|
626
|
+
// count it up front so a thin budget doesn't push the envelope over.
|
|
627
|
+
// Conflicts and live files are filled item-by-item in the passes above,
|
|
628
|
+
// so they're not pre-counted here.
|
|
629
|
+
if (ctx.partition.current_truth_caveat)
|
|
630
|
+
envelope["current_truth_caveat"] = ctx.partition.current_truth_caveat;
|
|
467
631
|
if (ctx.degradedReason)
|
|
468
632
|
envelope["degraded_reason"] = ctx.degradedReason;
|
|
469
633
|
return Buffer.byteLength(JSON.stringify(envelope), "utf-8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-pack.js","sourceRoot":"","sources":["../../../src/retrieval/context-pack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-pack.js","sourceRoot":"","sources":["../../../src/retrieval/context-pack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current Truth Mode — intent-aware, trust-tiered evidence packaging for
|
|
3
|
+
* ContextPack. Layered: v0 = intent classifier + bucket partition; v1 =
|
|
4
|
+
* git-state discounting (untracked/deleted/newer-on-disk); v2 = trust
|
|
5
|
+
* tiers, claim-type labels, surfaced conflicts, tracker-only caveat, and
|
|
6
|
+
* staleness demotion.
|
|
7
|
+
*
|
|
8
|
+
* Pure, deterministic helpers that classify a query's evidence intent and
|
|
9
|
+
* partition already-retrieved hits into "current truth" / "past reasoning"
|
|
10
|
+
* / "older memory" / "discounted" buckets, plus a "recommended live files
|
|
11
|
+
* to check" hint when the top evidence is mostly old snapshots and the
|
|
12
|
+
* intent is current-truth.
|
|
13
|
+
*
|
|
14
|
+
* v2 load-bearing rule: a conversation can never be sole authority for
|
|
15
|
+
* current truth — recent conversations route to "Recent discussion", not
|
|
16
|
+
* `current_truth` — which closes the self-corroboration loop (Rift's own
|
|
17
|
+
* captured answer can't re-promote itself as current state).
|
|
18
|
+
*
|
|
19
|
+
* This module reads metadata that's already on hits (source_path,
|
|
20
|
+
* indexed_at, source) and a tracker's self-declared `Last touched:` date —
|
|
21
|
+
* it does NOT invent confidence, run any new retrieval, or change
|
|
22
|
+
* `rift_search` ranking. It only re-shapes the answer surface of
|
|
23
|
+
* `rift_context_pack`.
|
|
24
|
+
*
|
|
25
|
+
* See docs/evals/current-truth-mode-q1-q8.md (Q1–Q9) for the frozen
|
|
26
|
+
* regression set this module is targeting.
|
|
27
|
+
*/
|
|
28
|
+
import type { RankedResult } from "./reranker.js";
|
|
29
|
+
import type { GitState } from "./git-state.js";
|
|
30
|
+
export type { GitState } from "./git-state.js";
|
|
31
|
+
export type EvidenceIntent = "current_truth" | "reasoning_archive" | "blended";
|
|
32
|
+
/**
|
|
33
|
+
* Classify a query's evidence intent. Deterministic and transparent so
|
|
34
|
+
* v0 can be debugged by eye. Algorithm:
|
|
35
|
+
*
|
|
36
|
+
* 1. Lower-case the query.
|
|
37
|
+
* 2. Check phrase triggers (multi-word) for each intent.
|
|
38
|
+
* 3. Check single-word triggers (matched as whole words via word
|
|
39
|
+
* boundaries — no partial matches like "currently" → "current").
|
|
40
|
+
* 4. If exactly one intent matches → that intent.
|
|
41
|
+
* 5. If both match → return `blended` (the asker is conflating
|
|
42
|
+
* "what's my taste on the current X").
|
|
43
|
+
* 6. If neither matches → `blended`.
|
|
44
|
+
*
|
|
45
|
+
* Note on Q7 ("difference between second brain and Rift"): only
|
|
46
|
+
* `relationship between` is in the reasoning-archive trigger list, not
|
|
47
|
+
* `difference between`. Q7 fires no trigger and falls to `blended`,
|
|
48
|
+
* which is the deliberate v0 outcome — disambiguation questions surface
|
|
49
|
+
* both the current product framing and the historical context without
|
|
50
|
+
* forcing an order.
|
|
51
|
+
*/
|
|
52
|
+
export declare function classifyEvidenceIntent(query: string): EvidenceIntent;
|
|
53
|
+
/**
|
|
54
|
+
* Coarse claim-type groups (Current Truth Mode v2). Distinct from
|
|
55
|
+
* {@link EvidenceIntent}: intent drives *section routing*, claim-type
|
|
56
|
+
* labels *what kind of assertion the asker is after* so the answer can
|
|
57
|
+
* say which facts are allowed to mean what.
|
|
58
|
+
*
|
|
59
|
+
* - `current_state` — present-tense state. launch/status/version/
|
|
60
|
+
* install/customer/current/now. Live state + trackers win; a doc's
|
|
61
|
+
* self-declared authority does not.
|
|
62
|
+
* - `framing` — how something is/was positioned. pricing/brand/
|
|
63
|
+
* framing/history/positioning/narrative. Committed docs are good
|
|
64
|
+
* here; a stale framing doc is weak-for-current-state but legitimate
|
|
65
|
+
* for "what was the framing".
|
|
66
|
+
* - `reasoning` — taste / rationale / relationships. why/decision/
|
|
67
|
+
* taste/relationship/philosophy. Conversations are primary.
|
|
68
|
+
*
|
|
69
|
+
* Deliberately coarse and keyword-driven (the v2 "implementation
|
|
70
|
+
* restraint": no semantic claim matcher yet). Used to *label* a surfaced
|
|
71
|
+
* conflict ("competes for current state"), not to re-route sections —
|
|
72
|
+
* that stays {@link classifyEvidenceIntent}'s job.
|
|
73
|
+
*/
|
|
74
|
+
export type ClaimType = "current_state" | "framing" | "reasoning";
|
|
75
|
+
/**
|
|
76
|
+
* Classify the claim-type of a query. Precedence: rationale phrases →
|
|
77
|
+
* strong reasoning words → ambiguous decision-without-current-qualifier →
|
|
78
|
+
* current_state → framing → default current_state. A "why did we decide X"
|
|
79
|
+
* question is reasoning even if it mentions a current-state noun; "latest
|
|
80
|
+
* decision about X" is a current-state question (P2 fix). An ambiguous
|
|
81
|
+
* query defaults to the strictest tier discipline (current_state) so we
|
|
82
|
+
* never under-apply the trust gating.
|
|
83
|
+
*/
|
|
84
|
+
export declare function classifyClaimType(query: string): ClaimType;
|
|
85
|
+
/**
|
|
86
|
+
* Default freshness cutoff: a hit indexed within `RECENT_WINDOW_DAYS` of
|
|
87
|
+
* "now" counts as recent. 21 days is wide enough that a paused-but-
|
|
88
|
+
* active project's tracker still reads as current, and narrow enough
|
|
89
|
+
* that an April-26 LAUNCH.md (now ~3 weeks old by 2026-05-19) starts
|
|
90
|
+
* looking stale relative to a 2026-05-19 PROJECT_STATE.md edit.
|
|
91
|
+
*/
|
|
92
|
+
export declare const RECENT_WINDOW_DAYS = 21;
|
|
93
|
+
export declare function isTrackerPath(p: unknown): boolean;
|
|
94
|
+
export declare function isSnapshotPath(p: unknown): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Trust tier of a single piece of evidence (Current Truth Mode v2).
|
|
97
|
+
* Ordered highest → lowest authority:
|
|
98
|
+
*
|
|
99
|
+
* - `live_state` — executable/observable truth: source code,
|
|
100
|
+
* install scripts, the package manifest, config.
|
|
101
|
+
* The closest retrieval analogue to `git status` /
|
|
102
|
+
* a running daemon's `/version`.
|
|
103
|
+
* - `tracker` — intentional state trackers: PROJECT_STATE.md,
|
|
104
|
+
* TODO.md, dated decision docs. Useful, not
|
|
105
|
+
* absolute — can be stale (see staleness demotion).
|
|
106
|
+
* - `committed_doc` — durable committed framing: README, PRD, CLAUDE.md,
|
|
107
|
+
* AGENTS.md. Good for framing, lower for current state.
|
|
108
|
+
* - `discussion` — conversations / agent reasoning. Useful context,
|
|
109
|
+
* never sole authority for current state (hard rule 1).
|
|
110
|
+
* - `discounted` — untracked / deleted / snapshot / generated reports.
|
|
111
|
+
* Historical or provisional unless reaffirmed.
|
|
112
|
+
*
|
|
113
|
+
* The tier is a property of the *source*, computed structurally from
|
|
114
|
+
* kind + git-state + path. Which tier *leads the answer* depends on the
|
|
115
|
+
* claim — that routing stays with {@link partitionEvidence}. So the same
|
|
116
|
+
* card can be `committed_doc` and still be superseded by a `tracker` for
|
|
117
|
+
* a current-state claim: tier labels authority, intent decides order.
|
|
118
|
+
*/
|
|
119
|
+
export type TrustTier = "live_state" | "tracker" | "committed_doc" | "discussion" | "discounted";
|
|
120
|
+
/**
|
|
121
|
+
* Assign a {@link TrustTier} to one evidence input. Pure, structural,
|
|
122
|
+
* claim-type-independent: git-state is the strongest signal (an untracked
|
|
123
|
+
* or deleted document is `discounted` no matter how it's named — the v1
|
|
124
|
+
* generalization of the LAUNCH.md hack), then snapshot paths, then the
|
|
125
|
+
* path-pattern ladder. Conversations are always `discussion`.
|
|
126
|
+
*
|
|
127
|
+
* Defaults to `committed_doc` for a tracked/unknown document that matches
|
|
128
|
+
* none of the specific ladders — it's a durable file we just can't place
|
|
129
|
+
* more precisely, which is a safer default than claiming it's live state.
|
|
130
|
+
*/
|
|
131
|
+
export declare function assignTrustTier(kind: "conversation" | "document", gitState: GitState | undefined, sourcePath: string | undefined): TrustTier;
|
|
132
|
+
/**
|
|
133
|
+
* Parse a row's `indexed_at` and return whether it falls within the
|
|
134
|
+
* recency window. Robust to missing / unparseable timestamps — we'd
|
|
135
|
+
* rather call a row "unknown-age" (treated as not-recent) than blow up
|
|
136
|
+
* the answer packaging.
|
|
137
|
+
*/
|
|
138
|
+
export declare function isRecent(indexedAt: string | undefined, now?: Date, windowDays?: number): boolean;
|
|
139
|
+
export interface EvidenceCard {
|
|
140
|
+
id: string;
|
|
141
|
+
title: string;
|
|
142
|
+
source: string;
|
|
143
|
+
snippet: string;
|
|
144
|
+
timestamp?: string;
|
|
145
|
+
source_path?: string;
|
|
146
|
+
/**
|
|
147
|
+
* v1 git-state classification of `source_path` at the time the pack
|
|
148
|
+
* was assembled. Surfaced on the card so downstream consumers can
|
|
149
|
+
* render a "(untracked)" / "(newer on disk)" hint next to the
|
|
150
|
+
* evidence without re-probing. Absent when no probe was run
|
|
151
|
+
* (conversation hit, missing source_path, no projectRoot).
|
|
152
|
+
*/
|
|
153
|
+
git_state?: GitState;
|
|
154
|
+
/**
|
|
155
|
+
* v2 trust tier — the authority level of this source (see
|
|
156
|
+
* {@link TrustTier}). Always set. Lets the answer say which facts are
|
|
157
|
+
* allowed to mean what (`live_state` outranks `tracker` outranks
|
|
158
|
+
* `committed_doc` outranks `discussion`).
|
|
159
|
+
*/
|
|
160
|
+
tier?: TrustTier;
|
|
161
|
+
/**
|
|
162
|
+
* v2 staleness anchor (P1 fix): a tracker's *self-declared* freshness,
|
|
163
|
+
* parsed from its content (`Last touched:` in PROJECT_STATE.md), as an
|
|
164
|
+
* ISO date. This is "when the tracker says it was last touched", which
|
|
165
|
+
* is the honest staleness signal — `timestamp` (indexed_at) only says
|
|
166
|
+
* "when Rift last reindexed the file", so a reindexed-but-stale tracker
|
|
167
|
+
* would otherwise look fresh and dodge {@link applyStalenessDemotion}.
|
|
168
|
+
* Absent when the content carries no parseable marker.
|
|
169
|
+
*/
|
|
170
|
+
tracker_date?: string;
|
|
171
|
+
}
|
|
172
|
+
export interface DiscountedCard extends EvidenceCard {
|
|
173
|
+
reason: string;
|
|
174
|
+
}
|
|
175
|
+
export interface RecommendedLiveFile {
|
|
176
|
+
/** Display path — relative if we have it, absolute otherwise. */
|
|
177
|
+
path: string;
|
|
178
|
+
/** One-line "why" — e.g. "current project state". Short, no period. */
|
|
179
|
+
why: string;
|
|
180
|
+
/**
|
|
181
|
+
* v1 git-state of the recommended file, when known. Lets the asker
|
|
182
|
+
* see at a glance whether the suggested live file is itself
|
|
183
|
+
* canonical (`tracked`) or in an evolving state (`modified` /
|
|
184
|
+
* `newer_on_disk`). Untracked / deleted paths are never recommended.
|
|
185
|
+
*/
|
|
186
|
+
git_state?: GitState;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* A surfaced disagreement between sources for the same claim (hard rule
|
|
190
|
+
* 4: surface conflicts, don't pretend to resolve them). The canonical
|
|
191
|
+
* case is a high-ranking discounted document (e.g. an untracked
|
|
192
|
+
* `LAUNCH.md` that self-declares authority) competing with higher-tier
|
|
193
|
+
* tracker / live-state / live-file evidence for a current-state claim.
|
|
194
|
+
* We name the tension and attach the tiers; we do not adjudicate the
|
|
195
|
+
* underlying facts.
|
|
196
|
+
*/
|
|
197
|
+
export interface ConflictCard {
|
|
198
|
+
/** Coarse claim-type the conflict is about (e.g. `current_state`). */
|
|
199
|
+
claim: ClaimType;
|
|
200
|
+
/** The lower-trust source competing to be the answer. */
|
|
201
|
+
discounted: {
|
|
202
|
+
title: string;
|
|
203
|
+
reason: string;
|
|
204
|
+
source_path?: string;
|
|
205
|
+
};
|
|
206
|
+
/** The higher-trust evidence that supersedes it. */
|
|
207
|
+
superseded_by: {
|
|
208
|
+
title: string;
|
|
209
|
+
tier: TrustTier;
|
|
210
|
+
source_path?: string;
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
export interface EvidencePartition {
|
|
214
|
+
current_truth: EvidenceCard[];
|
|
215
|
+
past_reasoning: EvidenceCard[];
|
|
216
|
+
older_memory: EvidenceCard[];
|
|
217
|
+
discounted: DiscountedCard[];
|
|
218
|
+
recommended_live_files: RecommendedLiveFile[];
|
|
219
|
+
/**
|
|
220
|
+
* v2 conflicts (hard rule 4). Empty unless a discounted current-state
|
|
221
|
+
* source is competing with higher-tier evidence.
|
|
222
|
+
*/
|
|
223
|
+
conflicts: ConflictCard[];
|
|
224
|
+
/**
|
|
225
|
+
* v2 caveat (hard rule 3). Set to "tracker-backed, not live-verified"
|
|
226
|
+
* when `current_truth` is populated but contains no `live_state`-tier
|
|
227
|
+
* evidence — i.e. the best we have is an intentional tracker, not
|
|
228
|
+
* executable/observable state. Absent otherwise.
|
|
229
|
+
*/
|
|
230
|
+
current_truth_caveat?: string;
|
|
231
|
+
}
|
|
232
|
+
/** Hard rule 3 caveat string — single source so renderer + DTO agree. */
|
|
233
|
+
export declare const TRACKER_ONLY_CAVEAT = "tracker-backed, not live-verified";
|
|
234
|
+
/**
|
|
235
|
+
* Input to {@link partitionEvidence}. Lets the partitioner consume both
|
|
236
|
+
* conversation hits and document hits in a uniform shape without
|
|
237
|
+
* re-implementing row lookup — the caller already has rows in hand from
|
|
238
|
+
* `fetchRowsById`.
|
|
239
|
+
*/
|
|
240
|
+
export interface EvidenceInput {
|
|
241
|
+
ranked: RankedResult;
|
|
242
|
+
row: Record<string, unknown> | undefined;
|
|
243
|
+
kind: "conversation" | "document";
|
|
244
|
+
/**
|
|
245
|
+
* v1: pre-probed git state for `row.source_path`. Optional — when
|
|
246
|
+
* absent, the partitioner falls back to v0 path-pattern heuristics.
|
|
247
|
+
* Populated by the caller (typically buildContextPack) via
|
|
248
|
+
* {@link import("./git-state.js").probeGitStates}.
|
|
249
|
+
*/
|
|
250
|
+
gitState?: GitState;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Partition retrieved hits according to the resolved evidence intent.
|
|
254
|
+
*
|
|
255
|
+
* Rules (v2, transparent and deterministic):
|
|
256
|
+
*
|
|
257
|
+
* - `current_truth` mode:
|
|
258
|
+
* - Conversations → `past_reasoning` (recent) / `older_memory` (old),
|
|
259
|
+
* NEVER `current_truth` (v2 hard rule 1: no conversation is sole
|
|
260
|
+
* authority for current state; closes self-corroboration).
|
|
261
|
+
* - Documents with `gitState === "untracked"` → `discounted`
|
|
262
|
+
* ("untracked in git"). Catches files like a project-local
|
|
263
|
+
* `LAUNCH.md` that exists on disk but hasn't been committed —
|
|
264
|
+
* not canonical state.
|
|
265
|
+
* - Documents with `gitState === "deleted"` → `discounted`
|
|
266
|
+
* ("deleted from disk"). The asker can't open it to verify.
|
|
267
|
+
* - Tracker-path docs and recent (<{@link RECENT_WINDOW_DAYS}d) docs
|
|
268
|
+
* → `current_truth`.
|
|
269
|
+
* - Snapshot/report-style docs and older docs → `discounted`
|
|
270
|
+
* (with reason).
|
|
271
|
+
* - Post-passes: stale trackers (older than fresher live-state by the
|
|
272
|
+
* recency window) demoted to `older_memory`; `tracker-backed, not
|
|
273
|
+
* live-verified` caveat set when `current_truth` has no live-state
|
|
274
|
+
* card; at most one `## Conflicts` entry pairing the top discounted
|
|
275
|
+
* doc against the top higher-tier card.
|
|
276
|
+
* - If `current_truth` is empty or dominated by snapshot/older
|
|
277
|
+
* evidence → populate `recommended_live_files` with tracker paths
|
|
278
|
+
* we already saw in hits (filtered to live git states), or
|
|
279
|
+
* canonical defaults.
|
|
280
|
+
*
|
|
281
|
+
* - `reasoning_archive` mode:
|
|
282
|
+
* - Conversations (regardless of age) → `past_reasoning` (lead).
|
|
283
|
+
* - Tracker-path docs → `current_truth` (background, kept short).
|
|
284
|
+
* - Snapshot docs → `older_memory`.
|
|
285
|
+
* - No demotion-by-age for conversations. No `discounted`.
|
|
286
|
+
* - No `recommended_live_files` — the asker doesn't want trackers.
|
|
287
|
+
* - Git-state rules do NOT apply here: the asker is after framing,
|
|
288
|
+
* not canonicalness.
|
|
289
|
+
*
|
|
290
|
+
* - `blended` mode:
|
|
291
|
+
* - Same git-state discount rules as `current_truth` for documents.
|
|
292
|
+
* - Tracker-path docs and recent hits → `current_truth`.
|
|
293
|
+
* - Conversations (regardless of age) → `past_reasoning`.
|
|
294
|
+
* - Snapshot docs that are clearly stale relative to a tracker →
|
|
295
|
+
* `discounted`. Other older docs → `older_memory`.
|
|
296
|
+
* - `recommended_live_files` only if `current_truth` is empty.
|
|
297
|
+
*
|
|
298
|
+
* Caps per section are derived from {@link maxPerSection} so the caller
|
|
299
|
+
* controls the overall budget.
|
|
300
|
+
*/
|
|
301
|
+
export interface PartitionOptions {
|
|
302
|
+
intent: EvidenceIntent;
|
|
303
|
+
/** Per-section cap (parallels existing maxPerBucket). */
|
|
304
|
+
maxPerSection: number;
|
|
305
|
+
/** Injectable for tests. Defaults to `new Date()`. */
|
|
306
|
+
now?: Date;
|
|
307
|
+
/** Project-root absolute path used to display paths relatively when possible. */
|
|
308
|
+
projectRoot?: string;
|
|
309
|
+
/**
|
|
310
|
+
* v2 claim-type (see {@link classifyClaimType}). Used to label surfaced
|
|
311
|
+
* conflicts. Defaults to `current_state` when omitted — the strictest
|
|
312
|
+
* gating, so callers that forget it never under-apply trust discipline.
|
|
313
|
+
*/
|
|
314
|
+
claimType?: ClaimType;
|
|
315
|
+
}
|
|
316
|
+
export declare function partitionEvidence(inputs: readonly EvidenceInput[], opts: PartitionOptions): EvidencePartition;
|
|
317
|
+
/**
|
|
318
|
+
* Best-effort parse of a tracker's self-declared freshness from its
|
|
319
|
+
* content. Currently the `Last touched: YYYY-MM-DD` line that
|
|
320
|
+
* PROJECT_STATE.md carries near the top. Returns the matched ISO date
|
|
321
|
+
* string, or undefined when the chunk doesn't contain the marker (the
|
|
322
|
+
* caller falls back to `indexed_at`). Tolerates optional markdown
|
|
323
|
+
* bold/list decoration around the label.
|
|
324
|
+
*/
|
|
325
|
+
export declare function parseTrackerDate(content: string | undefined): string | undefined;
|
|
326
|
+
//# sourceMappingURL=current-truth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-truth.d.ts","sourceRoot":"","sources":["../../../src/retrieval/current-truth.ts"],"names":[],"mappings":"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"}
|