Problem
papi repos and papi query (#12) fetch the anonymous projection only. A subject can gate repositories (visibility:"private") and arbitrary document nodes behind the §5 auth handshake (§2); those are dropped for the anonymous principal, so papi repos/papi query never surface them.
Ask
Add --recipient / --decrypt-cmd to both subcommands (mirroring papi person and papi validate): run the §5 challenge/response handshake and fetch the scoped projection so gated repos/fields project in.
- Reuse
inspect.Handshake(ctx, c, inspect.Options{Recipient, DecryptCmd}) + c.FetchAuthed(ctx, path, sess.ID) — the exact path authedPerson already uses in main.go.
repos: fetch /papi/repos authed; query: fetch /papi authed as the query input.
Notes
Deliberately deferred when #12 shipped (anonymous-tier matched the eng clone-papi-repos.bash consumer's need). Additive — the anonymous path is unchanged.
:clown: filed with Clown 0.3.12+e27f901
amarbel-llc/clown@e27f901
Problem
papi reposandpapi query(#12) fetch the anonymous projection only. A subject can gate repositories (visibility:"private") and arbitrary document nodes behind the §5 auth handshake (§2); those are dropped for the anonymous principal, sopapi repos/papi querynever surface them.Ask
Add
--recipient/--decrypt-cmdto both subcommands (mirroringpapi personandpapi validate): run the §5 challenge/response handshake and fetch the scoped projection so gated repos/fields project in.inspect.Handshake(ctx, c, inspect.Options{Recipient, DecryptCmd})+c.FetchAuthed(ctx, path, sess.ID)— the exact pathauthedPersonalready uses inmain.go.repos: fetch/papi/reposauthed;query: fetch/papiauthed as the query input.Notes
Deliberately deferred when #12 shipped (anonymous-tier matched the eng
clone-papi-repos.bashconsumer's need). Additive — the anonymous path is unchanged.:clown: filed with Clown 0.3.12+e27f901
amarbel-llc/clown@e27f901