Honestly you've put your finger on the sharper version of it. Inside the context window it isn't forgetting, it's near total recall right up to saturation, and then the rockface. Which is why "catastrophic" fits and "forgetting" is almost too gentle.
There's no decay curve, just a load threshold and a fall. What reads as hedging and re-confirming basic premises is the model reverting to priors once the in-context signal thins out. That's retrieval failure under pressure, not a memory fading.
And your last point is the whole thing. Graceful forgetting isn't a feature you bolt on. It is decay, and decay needs persistent, evolving state at inference.
Today's LLMs are deliberately stateless across calls. The KV cache is ephemeral scaffolding, not a memory that ages. So "forgetting like a human" isn't a missing knob, it's in direct tension with the substrate. You'd be trading statelessness, the thing that makes inference cacheable and parallel and reproducible, for the ability to let something fade.
And we're already watching this play out, just backwards. "Reference chat history" is the first real stab at exactly the statefulness you're describing. Going by the reverse-engineered breakdowns, ChatGPT supposedly pulls something like your last 40 conversations into context, weighted by recency and relevance. But look at what kind of state that is. It's additive, not decaying. The answer to "the model should remember you" turned out to be stuff more of the past in, at full fidelity, ranked, never let some of it fade. That's the adjacent-row problem productized. A chat from months ago comes back exactly as sharp as this morning's, and every one you bolt on walks you closer to the saturation cliff you named.
And notice where the statefulness actually lives. It's wrapped around the model as retrieval, not built into it as decay. The forward pass is still stateless. They just handed it a bigger, smarter thing to read. So the forget operation still exists precisely nowhere. We didn't teach it to forget. We gave it a better memory and called that the feature.
Which is sort of the buried point of the piece. We got grace because our substrate made forgetting cheaper than remembering. Theirs is the exact opposite. Nobody's paying that bill yet!
Ideally, you could. But that would mean fundamentally changing a lot in the framework you are porting it to. Maybe we could create a package that can be imported to other frameworks to enable skillcalling.. something to think about !
Yes! Largely inspired by Anthropic's work on code execution with MCP!
The idea of more sophisticated, autonomous units instead of raw tool functions really clicked for me. Skills in SkillGraph can orchestrate multiple tools, manage state, and handle multi-turn workflows.
Thanks for the feedback on the markdown/filesystem approach - progressive discovery has been great for debugging and understanding agent behavior properly!