Shelfbound libraries 0.8.0 (snapshot schema 0.6.0)
The open-core library set — Shelfbound.Core, Shelfbound.Query, and Shelfbound.Steam — at immutable version
0.8.0, producing snapshot schema 0.6.0. AGPL-3.0-or-later.
Why this release
0.8.0 makes partial Steam observations honest instead of treating visibility-gated Web API output as a complete owned
library. It also introduces QueryPlan v1: one deterministic, portable search-intent contract that hosted and local
consumers can adopt without inventing incompatible grammars.
What's in it
- Schema 0.6.0 observation semantics — adds
observedSubsetbesideinstalledOnlyand explicitly contracted
fullLibrary. Absence from either partial scope proves nothing about ownership or access; published enum identities
remain compatible and comparisons go throughLibraryScopeSemantics. - Structured Steam Web outcomes —
ISteamWebApiClientnow returns usable, missing-list, empty-list, or malformed
evidence with an observation timestamp. Empty or unavailable visibility-gated responses no longer masquerade as a
successful complete library. - QueryPlan v1 — adds the versioned plan, C# text parser/canonical serializer, structured diagnostics, capability
validation, defensive bounds, and the executable G1–G25 conformance corpus. This is a contract/parser seam; the existing
LibraryFilterengine and local MCP behavior are unchanged. - Local-source hardening — tightens bounded Steam/VDF/manifest/collection parsing and authenticated client input
handling, improves modern collection decoding, and adds Windows registry-based Steam installation discovery. - Release integrity — package/schema/source identity, API compatibility, symbols/Source Link, duplicate-version
rejection, and the exact producer→package→cloud-consumer contract remain fail-closed.
Compatibility
Snapshot 0.6.0 is additive on the wire. The ISteamWebApiClient raw-list→structured-result API change is the intentional
pre-1.0 package break recorded and checked for 0.8.0. QueryPlan v1 is additive; current query execution remains on
LibraryFilter until a later migration.
Consumers
The hosted API packs this exact producer commit into an isolated local feed and tests old/current/unsupported-next
snapshot negotiation plus byte-identical QueryPlan corpus parity before release. Packages: Shelfbound.Core,
Shelfbound.Query, and Shelfbound.Steam 0.8.0 on nuget.org.