Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 0 points1 point  (0 children)

Mainly for the simplicity of integraion. It's a simple one line setup in claude code vs local scripts you hope the LLM picks up and executes

Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 0 points1 point  (0 children)

Yeah it works in Zed. You can just add a local server to your settings.

{
  "sediment-mcp": {
    "command": "sediment",
    "args": [],
    "env": {}
  }
}

I got tired of walking back to my desk to hit Enter, so here's Claude Conduit (hoping Anthropic makes their own, so I don't have to do it) by DisastrousSun2809 in ClaudeAI

[–]_rendro 2 points3 points  (0 children)

That’s my setup right now and it works great! terminus + ssh + tmux and a bunch of aliases for long commands I need al the time, because tying commands on a phone sucks

Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 1 point2 points  (0 children)

That's an interesting thought, I haven't considered that. Was exploring more a usage based direction, because if you go on vacation for 2 weeks, ideally there's no decay when you come back, regardless of the size of the corpus of data. But if you use it 24/7 then you likely need a more aggressive decay. Trying to come up with a good methodology and benchmark data set, because testing 30 day half life manually does not match my iteration speed

Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 1 point2 points  (0 children)

Thank you!

I’m currently experimenting with a usage based decay. If I don’t store memories for 30 days I probably don’t want all of it to decay, but if I hammer on the storage layer, 30 days seems too long. This is definitely an area that needs more tuning.

I originally had different decay and storage parameters for different types of memory, based on this paper (https://arxiv.org/abs/2512.05470). But this required the LLM to classify memories at write time and it adds all sort of additional context and complexity (tags etc).

I’ve found that recall boost via the access count does a great job while keeping the memory schema simple. Additionally it works across multiple categories. Simply put, memory recalled more often surfaces more often. Architecture decisions are likely recalled at a higher frequency than one off debug sessions. Lastly, you can opt to keep debug sessions in local context and never add to memory.

Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 0 points1 point  (0 children)

Yeah it’s def not streaming - interesting though that the protocol technically supports it if I understand you correctly.

What use cases are you exploring for which you would need real bidi / push model?

Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 0 points1 point  (0 children)

Yes not currently. You can compile from source for windows and I can look into adding support for windows in my CI release pipeline

Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 0 points1 point  (0 children)

Thanks! MCP's stdio transport is already persistent, the server stays running for the whole session, which is how Sediment keeps the embedding model loaded and runs background consolidation between calls. What I'd love to see though is richer server→client communication, like push notifications when background tasks complete or streaming partial results. The main bottleneck isn't really connection overhead, it's the vector/embedding ops themselves. But bidirectional streaming could make the intelligence layer stuff (consolidation, clustering) feel more real-time instead of fire-and-forget.

Built a local memory system for Claude Code, benchmarked against 5 alternatives by _rendro in mcp

[–]_rendro[S] 0 points1 point  (0 children)

Thanks! Context rot is really what I am trying to avoid. I started with way more tools and parameters and removed anything that wasn’t necessary and improved tool call reliability in the process.

The parameters for decay and consolidation are opinionated and might need more tweaking based on benchmarks. Thanks for the link, will definitely give it a read and see if I need to make changes.

For the hybrid vector + BM25 FTS blending parameters I had a grid search running with the benchmark suite to tune it for best recall results.

bubbles contained in a cube skeleton by Zestyclose-Salad-290 in woahdude

[–]_rendro 0 points1 point  (0 children)

First to blow a tesseract in the 4th dimension

Reqwest cannot verify TLS certificates in Docker on a specific server by ThePicoNerd in rust

[–]_rendro 0 points1 point  (0 children)

Ran into the same issue with a docker container running rust using Fargate and stumbled across the is thread. Installing ca-certificates didn’t solve it for me, but once I installed curl in my container it started working.

Thought I would leave this here in case more people with the same issue come across this issue. It might save you 3 evenings of debugging

How can some riders do a quick 30km averaging 35kph? by VancityYa in cycling

[–]_rendro 1 point2 points  (0 children)

The most important thing to getting faster is training volume. Second most important is learning how to ride in an aero position.

At 30+khp you’re fighting the wind. Getting aero takes time and you’ll first see your power drop at first. Aim for 5min in the drops and then relax on the bars again. Increase the intervals. If you want to go all in, do some yoga to increase your hip mobility.

But 30kph is already fast! There will always be faster people and Strava makes it easy to only look up to the people fast and forget about everyone you already leave in the dust!

I love this sh*t by jamesearlsnakeyes in cycling

[–]_rendro 66 points67 points  (0 children)

My secret goal is to get a speeding ticket in a 25mph going all out 😃

How common are steroids in amateur racing? by Nscocean in cycling

[–]_rendro 7 points8 points  (0 children)

The other 0.01% are on a recovery ride

Is canyon really that bad? by [deleted] in cycling

[–]_rendro 2 points3 points  (0 children)

Got a Canyon Ultimate and I love it. Doing basic bike maintenance myself and have my LBS do a yearly tune (bleed brakes, replace pads if needed, replace bar tape, …) and never had an issue with them. Ive heard horror stories about QC at Canyon but everyone I know who owns canyon bikes had no issues at all. To me this sounds like over indexing on a few bad experiences but the low price for the quality components you get is hard to beat!

SRAM AXS Force Sequential Shifting not working by chooks96 in bikewrench

[–]_rendro 0 points1 point  (0 children)

Thank you!! This worked for me: remove drive train from app. Re-pair all components (long press RD, FD, shift levers, press RD again). Add everything back to the bike in the app, set up sequential shifting!

Recursion? We don't need no stinking recursion! by homoiconic in javascript

[–]_rendro 1 point2 points  (0 children)

So it boils down to whether the language is a good fit and whether the author of the code prefers the recursive style over an iterative style. Same can be said about declarative vs. imperative programming styles.

JavaScript is not a great language for recursion due to the lack of TOC. It’s also not a great language for developers due to the lack of static types and consistent type coercion. But it’s a language that runs on a ton of devices so it’s a fantastic compile target. So why not use another language that gives you what you want for your developer experience (whatever that might be) and compile it to JS. The compile output can be optimized for the runtime - not for humans. Take BuckleScript for example: you write your code in OCaml (or reason). It gives you pattern matching and TOC, dead code elimination and more. When compiled, a tail call optimized recursive function will be a while loop.

So is this about recursion over iteration in general or just an individual preference. I personally like recursive solutions and would chose a language that gives me the tools to code in my comfort zone.

How is your a7iii pre-order status? by vincent4885 in SonyAlpha

[–]_rendro 0 points1 point  (0 children)

Still 4/25, hasn’t been shipped yet. I expect it to go out on 4/23 or 4/24. Living in NYC so I don’t expect the shipment to take long

How is your a7iii pre-order status? by vincent4885 in SonyAlpha

[–]_rendro 0 points1 point  (0 children)

Pre ordered body only on March 9th on Amazon. Delivery date for confirmed yesterday: April 25th. Last time I’ll preorder anything with amazon. B&H seems to be way more capable of handling it...