"The Sidekick binds per media identity through cwkPippa's ashenreel conversation binder (ASHEN-REEL system folder)."
A Conversation About a Thing Should Live With the Thing
When you ask Pippa about a video, what should happen the next time you open that same video? A weak design starts a fresh chat every launch, and your earlier questions evaporate. Ashen Reel does the opposite: the Sidekick binds to one canonical conversation per media identity. Open that 2019 clip today, ask about a moment, come back next month, and you're in the same conversation — because the conversation is about that video, and it lives as long as the video does.
The binding key is the media identity, not the session, not the window, not the launch. Same video, same conversation, stable across time. A chat that resets every time you open a file is a chat that never accumulates into memory; binding to identity is what lets the Sidekick remember.
The bind is a call to a cwkPippa route, and it's deliberately idempotent:
Why Idempotent Binding Matters
The binder is idempotent on purpose: calling it for a media identity returns the existing conversation if there is one, or creates the canonical one and returns it. That single property makes the whole surface robust. Open the same video twice, from two windows, after a crash, from the WebUI and the dock at once — every path lands on the same conversation, and none of them accidentally spawns a duplicate. Idempotency is what lets 'bind per identity' survive contact with the messy real world of repeated opens and parallel surfaces. Design your bindings so that asking twice is the same as asking once.