@@ -43,7 +43,7 @@ export function calculateEpisodeContextScore(episode: Episode): number {
4343 decayRate : episode . decay_rate ,
4444 } ) ;
4545
46- return weightedAverage ( signals . durability , signals . recency , 0 , 0 .6, 0.4 , 0 ) ;
46+ return weightedAverage2 ( signals . durability , signals . recency , 0.6 , 0.4 ) ;
4747}
4848
4949export function shouldIncludeEpisodeInContext ( episode : Episode ) : boolean {
@@ -75,6 +75,10 @@ function weightedAverage(a: number, b: number, c: number, aWeight: number, bWeig
7575 return a * aWeight + b * bWeight + c * cWeight ;
7676}
7777
78+ function weightedAverage2 ( a : number , b : number , aWeight : number , bWeight : number ) : number {
79+ return a * aWeight + b * bWeight ;
80+ }
81+
7882function exponentialDecay ( ageHours : number , halfLifeHours : number , decayRate : number ) : number {
7983 if ( ! Number . isFinite ( ageHours ) || ageHours < 0 ) return 1 ;
8084 return Math . exp ( - ( ( ageHours / halfLifeHours ) * decayRate ) ) ;
@@ -83,13 +87,7 @@ function exponentialDecay(ageHours: number, halfLifeHours: number, decayRate: nu
8387function hoursSince ( value ?: number | string ) : number {
8488 if ( value == null ) return Number . POSITIVE_INFINITY ;
8589
86- const timestamp =
87- typeof value === "number"
88- ? value
89- : ( ( ) => {
90- const parsed = Date . parse ( value ) ;
91- return Number . isNaN ( parsed ) ? Number . NaN : parsed ;
92- } ) ( ) ;
90+ const timestamp = typeof value === "number" ? value : Date . parse ( value ) ;
9391
9492 if ( ! Number . isFinite ( timestamp ) ) return Number . POSITIVE_INFINITY ;
9593
0 commit comments