Skip to content

symfonic.capabilities.memory.composed

composed

The composed recall block, as the prompt compiler reads it.

Split out of :mod:.hydration when that module passed its budget, and the seam is a real one rather than a line count: hydration decides what a turn remembers — it coordinates the window and the recall, applies the ceiling, keeps the drop ledger. This is the value that crosses out of memory and into prompting, and it answers one question only: can this block be read at this scope?

ComposedMemorySource dataclass

ComposedMemorySource(block: str, revision: str, scope_path: str, scope_aware: bool = True, offline_safe: bool = True)

A source over an already-composed block, bound to the scope that built it.

The binding is the security property, and it is the same one :class:~.contribution.HydratedMemorySource makes: a compiled prompt is built from whatever contributions the caller passes, so a block hydrated for one tenant must refuse to render into another's compile if a composition root reuses the object.