symfonic.capabilities.prompting.boundaries¶
boundaries ¶
Scope isolation and inheritance — what travels, and what a key may collapse.
Two rules, both about content crossing a boundary it was not compiled for.
Isolation keys stored content by the full scope path, as a tuple. A joined string would let a contribution id containing the path separator forge a level boundary and read another scope's stored revision; a tuple cannot be forged that way, because the separator is structural rather than lexical.
Inheritance decides what a delegated child sees of its parent's standing context. The default is that a declared contribution travels — a child that lost its boundaries is the dangerous direction — and the contributions that must not travel say so explicitly.
inheritable ¶
The subset of contributions a delegated child may see.
isolation_key ¶
The canonical storage key for one contribution in one scope.
The scope half is the full root-first path verbatim, not a tenant id: keying on the tenant alone would collapse every brand and conversation under an organisation into one bucket, so two sibling scopes would share — and overwrite — one another's stored revisions.