Everyone I know learning agentic AI right now is learning to use frameworks. They call .invoke(), something happens, they move on.

Ask them what fires when a tool class is defined. Ask them why validation should live in a descriptor instead of __init__. Ask how ParamSpec preserves type safety through decorator stacks. Blank stares.

I wanted to actually understand this stuff. So I built a mini Python framework that mirrors the internal shape of real agent systems — registry, validated config, mixins, decorators, sessions, streaming, TypedDicts, Protocols, and a CLI. Zero external dependencies. The whole thing is explainable from source.

Here's the full breakdown.

Architecture at a glance