You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Namespace prefix scoping ("org.*") — one convention on every read
surface (CAL WHERE namespace / namespace IN (…), the MCP namespace
argument, areev recall --ns, ASSEMBLE sources, both bindings): a
namespace value ending in * selects the base namespace plus its
descendants through the separator you wrote ("org.*" = org, org.sales, org.sales.emea — never organization, never org:x).
Malformed patterns (org*, bare *, mid-string *) refuse with VAL-E001 instead of silently matching nothing. Backed by a
count-maintained namespace registry (ns_reg, self-healed on open for
older files) and a namespace-set recall path through all three hybrid
legs; the single-exact-namespace hot path is untouched. Scopes widen reads only: * is now reserved in namespace names (writes refuse it;
replication of pre-existing files still imports), and destruction,
grants, policy, and point reads keep taking exact namespaces. Under a
bound principal a prefix expansion fails closed — every covered
namespace must be granted, and the refusal names the pattern, never a
discovered namespace.
Fixed
WHERE namespace IN (…) now queries every member of the set (union,
deduped, newest-first across the set); previously only the first member
was consulted and the rest were silently dropped (#19). A namespace_override-pinned session now also clears caller-supplied IN
sets, closing the corresponding pin-escape.