Skip to content

Core-backed shares RPC for sub-store, plus the platform target alias - #52

Merged
lr00rl merged 1 commit into
integrationfrom
feat/substore-shares-rpc
Aug 18, 2026
Merged

Core-backed shares RPC for sub-store, plus the platform target alias#52
lr00rl merged 1 commit into
integrationfrom
feat/substore-shares-rpc

Conversation

@lr00rl

@lr00rl lr00rl commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

P-2 server half of SUBSTORE-PARITY.md. latticenet.sub-store/shares list method (core-backed, NetGuard pattern): plugin UI can resolve its records' share URLs without tokens entering the sandbox store; handler independently re-checks proxy:admin. Serve path gains ?platform= as a target alias sharing the same cache variant. Full suite green.

…lias

"Copy this subscription's link" is the primary action of a subscription
manager, and the plugin cannot implement it alone: share tokens live in
core on purpose — the sandbox boundary keeps them out of plugin reach. So
the link crosses the boundary the same way NetGuard's firewall state
does: a core-backed service the signed manifest names, dispatched by the
gateway under the caller's principal.

latticenet.sub-store/shares (v1, method "list") returns, for each share
sourced from a sub-store subscription record: subscription_id, share_id,
slug, enabled, default_format, expires_at, the serve path, and the
absolute URL when the server knows its public base. Other plugins' shares
and proxy-user shares never appear. The handler re-checks proxy:admin
itself — the scope the REST share API sits behind — so a misdeclared
manifest scope list can never widen who reads share URLs.

The serve path also accepts ?platform= as upstream's alias for ?target=,
normalizing into the same render variant: both spellings share one cache
entry, and target wins when both are present.

Tested: new contract test (ownership registration, filtering, URL/path
shape, denial without proxy:admin, denial without a principal, unknown
method) plus platform-alias cache-hit and precedence assertions in the
target-parameter test; full internal/server suite green; gofmt/vet clean.
Not-tested: the plugin UI consumer (rides in the next sub-store plugin
PR, which declares the interface with backing "core").
@lr00rl
lr00rl merged commit 7e0862d into integration Aug 18, 2026
1 check passed
@lr00rl
lr00rl deleted the feat/substore-shares-rpc branch August 18, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant