v0.14.0 — the cross-match: reads by user × function + npx CLI
The moat, in the OSS. Tell Buckets who's behind a request — one line, setActor(userId), with the id you already have — and every read attributes to the person and the function that spent it. No standalone read tool can do this.
setActor(userId)→byActor(WHO) +byActorLabel(WHO × WHAT), two independent axes. Server + browser.anonymousfor no-identity reads;machinefor background work (still by tenant).- Feature-first WHAT —
bucket() ?? feature ?? route ?? collection(the operation, not the page). npx @cross-deck/buckets— prints WHO × WHAT to the terminal. Free, offline, no account.- Decoupled identity bridge so the Crossdeck SDK (or your own boundary) drives it without either package depending on the other.
Additive and backward-compatible — byLabel unchanged, the WHO dimension is absent until you wire identity. README reframed to "who caused it = the user."