@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.
Files changed (89) hide show
  1. package/README.md +35 -9
  2. package/dist/src/cli/commands/doctor.d.ts +6 -0
  3. package/dist/src/cli/commands/doctor.d.ts.map +1 -0
  4. package/dist/src/cli/commands/doctor.js +183 -0
  5. package/dist/src/cli/commands/doctor.js.map +1 -0
  6. package/dist/src/cli/commands/menubar.d.ts +30 -0
  7. package/dist/src/cli/commands/menubar.d.ts.map +1 -0
  8. package/dist/src/cli/commands/menubar.js +180 -0
  9. package/dist/src/cli/commands/menubar.js.map +1 -0
  10. package/dist/src/cli/commands/onboard.d.ts +38 -0
  11. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  12. package/dist/src/cli/commands/onboard.js +203 -121
  13. package/dist/src/cli/commands/onboard.js.map +1 -1
  14. package/dist/src/cli/commands/status.d.ts +9 -7
  15. package/dist/src/cli/commands/status.d.ts.map +1 -1
  16. package/dist/src/cli/commands/status.js +29 -10
  17. package/dist/src/cli/commands/status.js.map +1 -1
  18. package/dist/src/cli/commands/update.d.ts +3 -0
  19. package/dist/src/cli/commands/update.d.ts.map +1 -1
  20. package/dist/src/cli/commands/update.js +19 -0
  21. package/dist/src/cli/commands/update.js.map +1 -1
  22. package/dist/src/cli/index.d.ts.map +1 -1
  23. package/dist/src/cli/index.js +4 -0
  24. package/dist/src/cli/index.js.map +1 -1
  25. package/dist/src/cli/postinstall-menubar.d.ts +22 -0
  26. package/dist/src/cli/postinstall-menubar.d.ts.map +1 -0
  27. package/dist/src/cli/postinstall-menubar.js +39 -0
  28. package/dist/src/cli/postinstall-menubar.js.map +1 -0
  29. package/dist/src/cli/status/friend-header.d.ts +8 -1
  30. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  31. package/dist/src/cli/status/friend-header.js +93 -12
  32. package/dist/src/cli/status/friend-header.js.map +1 -1
  33. package/dist/src/cli/ui.d.ts +47 -0
  34. package/dist/src/cli/ui.d.ts.map +1 -0
  35. package/dist/src/cli/ui.js +166 -0
  36. package/dist/src/cli/ui.js.map +1 -0
  37. package/dist/src/diagnostics/doctor.d.ts +106 -0
  38. package/dist/src/diagnostics/doctor.d.ts.map +1 -0
  39. package/dist/src/diagnostics/doctor.js +251 -0
  40. package/dist/src/diagnostics/doctor.js.map +1 -0
  41. package/dist/src/diagnostics/notify.d.ts +90 -0
  42. package/dist/src/diagnostics/notify.d.ts.map +1 -0
  43. package/dist/src/diagnostics/notify.js +177 -0
  44. package/dist/src/diagnostics/notify.js.map +1 -0
  45. package/dist/src/diagnostics/repair-prompt.d.ts +49 -0
  46. package/dist/src/diagnostics/repair-prompt.d.ts.map +1 -0
  47. package/dist/src/diagnostics/repair-prompt.js +198 -0
  48. package/dist/src/diagnostics/repair-prompt.js.map +1 -0
  49. package/dist/src/jobs/handlers/dedupe-conversations.d.ts +25 -2
  50. package/dist/src/jobs/handlers/dedupe-conversations.d.ts.map +1 -1
  51. package/dist/src/jobs/handlers/dedupe-conversations.js +48 -9
  52. package/dist/src/jobs/handlers/dedupe-conversations.js.map +1 -1
  53. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  54. package/dist/src/jobs/handlers/ingest.js +8 -2
  55. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  56. package/dist/src/main.js +43 -4
  57. package/dist/src/main.js.map +1 -1
  58. package/dist/src/mcp/server.d.ts.map +1 -1
  59. package/dist/src/mcp/server.js +43 -3
  60. package/dist/src/mcp/server.js.map +1 -1
  61. package/dist/src/mcp/tools/context-pack.js +163 -25
  62. package/dist/src/mcp/tools/context-pack.js.map +1 -1
  63. package/dist/src/observability/onboarding-metric.d.ts +115 -0
  64. package/dist/src/observability/onboarding-metric.d.ts.map +1 -0
  65. package/dist/src/observability/onboarding-metric.js +344 -0
  66. package/dist/src/observability/onboarding-metric.js.map +1 -0
  67. package/dist/src/observability/version-check.d.ts +1 -0
  68. package/dist/src/observability/version-check.d.ts.map +1 -1
  69. package/dist/src/observability/version-check.js +2 -1
  70. package/dist/src/observability/version-check.js.map +1 -1
  71. package/dist/src/retrieval/context-pack.d.ts +37 -0
  72. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  73. package/dist/src/retrieval/context-pack.js +165 -1
  74. package/dist/src/retrieval/context-pack.js.map +1 -1
  75. package/dist/src/retrieval/current-truth.d.ts +326 -0
  76. package/dist/src/retrieval/current-truth.d.ts.map +1 -0
  77. package/dist/src/retrieval/current-truth.js +747 -0
  78. package/dist/src/retrieval/current-truth.js.map +1 -0
  79. package/dist/src/retrieval/git-state.d.ts +53 -0
  80. package/dist/src/retrieval/git-state.d.ts.map +1 -0
  81. package/dist/src/retrieval/git-state.js +174 -0
  82. package/dist/src/retrieval/git-state.js.map +1 -0
  83. package/dist/src/server/routes/friend-status.d.ts +63 -0
  84. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  85. package/dist/src/server/routes/friend-status.js +97 -0
  86. package/dist/src/server/routes/friend-status.js.map +1 -1
  87. package/operator/swiftbar/render-menu.py +444 -0
  88. package/operator/swiftbar/rift.10s.sh +147 -0
  89. 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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"}