mirror of
https://github.com/samvallad33/vestige.git
synced 2026-07-04 22:02:14 +02:00
* patch(backfill-safety): VESTIGE_BACKFILL_AUTOFIRE gate (default OFF) + bounded promote_memory_backfill
Off-by-default env gate around step-8.5 auto-fire in run_consolidation (decouples
backfill from consolidation cadence). New promote_memory_backfill caps stability at
MIN(stability*1.5, stability+365.0) (the bound retroactive_backfill.rs:300 already
computes but discarded); both backfill entry points use it. Fixes the false 'capped'
comment. Cloud-sync excluded at build (--no-default-features). Pending upstream PR to
samvallad33/vestige. omega-backfill-safety-v2.2.0 off tag v2.2.0 (3bcd4667).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* release: v2.2.1 — Windows embeddings fix + backfill safety + first-run guide
Board-clearing patch release.
Fixes:
- #101 Windows embeddings: release.yml already restores vector-search on the
x86_64-pc-windows-msvc target (merged in #102); this release rebuilds the
Windows binary so users actually get working embeddings.
- #103 Retroactive Salience Backfill safety (from community PR #104, adjusted):
* promote_memory_backfill bounds the stability multiply to
MIN(stability*1.5, stability+365.0) on both auto-fire and manual paths.
* VESTIGE_BACKFILL_AUTOFIRE gate — default ON (preserves the shipped/documented
v2.2.0 behavior), disable with 0/false/off/no. Env value is trimmed.
* Corrected the false "capped" comment and the promote_memory_backfill doc.
* Added 3 tests: +365 cap binds, *1.5 multiply below crossover, gate parsing.
Docs:
- #83 First-Run: new docs/GETTING-STARTED.md + README pointer.
- Consolidated roadmap issues #82,#84-#92 into docs/ROADMAP.md (Tracked Issues).
- Documented VESTIGE_BACKFILL_AUTOFIRE in docs/CONFIGURATION.md.
- CHANGELOG v2.2.1 entry.
Version bumped to 2.2.1 across all manifests + Cargo.lock + dashboard build.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Peter Lauzon <inbijiburu@protonmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3 lines
4.8 KiB
JavaScript
3 lines
4.8 KiB
JavaScript
import"../chunks/Bzak7iHL.js";import{o as ce}from"../chunks/TZu9D97Z.js";import{p as pe,s as x,d as ue,a as d,b as _e,j as v,e as t,i as u,g as e,n as O,r as a,h as c,u as fe,t as h}from"../chunks/wpu9U-D0.js";import{d as xe,s as y,a as be}from"../chunks/D8mhvFt8.js";import{i as P}from"../chunks/DKve45Wd.js";import{e as w,i as B,s as ge}from"../chunks/60_R_Vbt.js";import{a as he,r as ye}from"../chunks/P1-U_Xsj.js";import{s as q}from"../chunks/EqHb-9AZ.js";import{a as we}from"../chunks/CZfHMhLI.js";import{N as I}from"../chunks/CcUbQ_Wl.js";import{P as ke}from"../chunks/BHDZZvku.js";import{A as G}from"../chunks/DcKTNC6e.js";import{D as $e}from"../chunks/CmbJHhgy.js";import{I as Ae}from"../chunks/D7A-gG4Z.js";var Le=v('<div class="flex items-center gap-4"><span class="text-dim text-sm tabular-nums"><!> memories</span> <!></div>'),Te=v('<div class="h-16 glass-subtle rounded-xl shimmer"></div>'),De=v('<div class="space-y-4"></div>'),je=v(`<div class="enter flex flex-col items-center justify-center text-center py-20 gap-4"><div class="text-dim opacity-60 breathe"><!></div> <p class="text-dim text-sm max-w-sm">No memories in this window yet — widen the range or come back once Vestige has
|
|
been remembering a while.</p></div>`),Ce=v('<div class="w-2 h-2 rounded-full"></div>'),Ne=v('<span class="text-xs text-muted tabular-nums"> </span>'),Oe=v('<div class="flex items-start gap-2 text-sm"><div class="w-2 h-2 mt-1.5 rounded-full flex-shrink-0"></div> <div class="flex-1 min-w-0"><span class="text-dim line-clamp-1"> </span></div> <span class="text-xs text-muted flex-shrink-0 tabular-nums"> </span></div>'),Pe=v('<div class="enter mt-3 pt-3 border-t border-synapse/10 space-y-2"></div>'),Be=v('<div class="relative pl-14"><div class="absolute left-4 top-3 w-5 h-5 rounded-full border-2 border-synapse bg-void flex items-center justify-center"><div class="w-2 h-2 rounded-full bg-synapse breathe"></div></div> <button><div class="flex items-center justify-between"><div class="flex items-baseline gap-2"><span class="text-sm text-bright font-medium"> </span> <span class="text-xs text-dim tabular-nums"><!> memories</span></div> <div class="flex items-center gap-1"><!> <!></div></div> <!></button></div>'),Ie=v('<div class="relative"><div class="absolute left-6 top-0 bottom-0 w-px bg-synapse/15"></div> <div class="space-y-4"></div></div>'),Me=v('<div class="p-6 max-w-4xl mx-auto space-y-6"><!> <!></div>');function Ue(J,K){pe(K,!0);let f=x(ue([])),k=x(!0),M=x(14),b=x(null);ce(()=>S());async function S(){u(k,!0);try{const s=await we.timeline(e(M),500);u(f,s.timeline,!0)}catch{u(f,[],!0)}finally{u(k,!1)}}const Q=[{value:"7",label:"Last 7 days"},{value:"14",label:"Last 14 days"},{value:"30",label:"Last 30 days"},{value:"90",label:"Last 90 days"},{value:"365",label:"Last year"}];let E=x("14");function U(s){u(M,parseInt(s,10),!0),S()}let X=fe(()=>e(f).reduce((s,r)=>s+r.count,0));var $=Me(),R=t($);ke(R,{icon:"timeline",title:"Timeline",subtitle:"Watch your memories accumulate, day by day",accent:"synapse",children:(s,r)=>{var l=Le(),m=t(l),i=t(m);G(i,{get value(){return e(X)}}),O(),a(m);var A=c(m,2);$e(A,{get options(){return Q},label:"Range",icon:"schedule",onChange:U,get value(){return e(E)},set value(_){u(E,_,!0)}}),a(l),d(s,l)},$$slots:{default:!0}});var Z=c(R,2);{var ee=s=>{var r=De();w(r,20,()=>Array(7),B,(l,m)=>{var i=Te();d(l,i)}),a(r),d(s,r)},ae=s=>{var r=je(),l=t(r),m=t(l);Ae(m,{name:"timeline",size:48,strokeWidth:1.2}),a(l),O(2),a(r),d(s,r)},te=s=>{var r=Ie(),l=c(t(r),2);w(l,23,()=>e(f),m=>m.date,(m,i,A)=>{var _=Be(),g=c(t(_),2),L=t(g),T=t(L),D=t(T),se=t(D,!0);a(D);var W=c(D,2),re=t(W);G(re,{get value(){return e(i).count}}),O(),a(W),a(T);var z=c(T,2),F=t(z);w(F,17,()=>e(i).memories.slice(0,10),B,(n,o)=>{var p=Ce();h(()=>q(p,`background: ${(I[e(o).nodeType]||"#8B95A5")??""}; opacity: ${.3+e(o).retentionStrength*.7}; box-shadow: 0 0 5px ${(I[e(o).nodeType]||"#8B95A5")??""}66`)),d(n,p)});var ie=c(F,2);{var oe=n=>{var o=Ne(),p=t(o);a(o),h(()=>y(p,`+${e(i).memories.length-10}`)),d(n,o)};P(ie,n=>{e(i).memories.length>10&&n(oe)})}a(z),a(L);var le=c(L,2);{var ne=n=>{var o=Pe();w(o,21,()=>e(i).memories,B,(p,j)=>{var C=Oe(),H=t(C),N=c(H,2),V=t(N),de=t(V,!0);a(V),a(N);var Y=c(N,2),ve=t(Y);a(Y),a(C),h(me=>{q(H,`background: ${(I[e(j).nodeType]||"#8B95A5")??""}`),y(de,e(j).content),y(ve,`${me??""}%`)},[()=>(e(j).retentionStrength*100).toFixed(0)]),d(p,C)}),a(o),d(n,o)};P(le,n=>{e(b)===e(i).date&&n(ne)})}a(g),a(_),he(_,(n,o)=>{var p;return(p=ye)==null?void 0:p(n,o)},()=>({delay:Math.min(e(A)*35,350),y:12})),h(()=>{ge(g,1,`lift w-full text-left p-4 glass-subtle rounded-xl hover:bg-white/[0.04] transition-all duration-200
|
|
${e(b)===e(i).date?"!border-synapse/40 glow-synapse":""}`),y(se,e(i).date)}),be("click",g,()=>u(b,e(b)===e(i).date?null:e(i).date,!0)),d(m,_)}),a(l),a(r),d(s,r)};P(Z,s=>{e(k)?s(ee):e(f).length===0?s(ae,1):s(te,!1)})}a($),d(J,$),_e()}xe(["click"]);export{Ue as component};
|