OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
List reviews with filters.
Goal
Display product/store reviews.
Context
Product page, store page.
Source Definition
import {
defineCommand,
defineQuery,
} from '@lssm-tech/lib.contracts-spec/operations';
import {
CreateReviewInputModel,
ListReviewsInputModel,
ListReviewsOutputModel,
ReviewModel,
} from './review.schema';
export const ListReviewsContract = defineQuery({
meta: {
key: 'marketplace.review.list',
version: '1.0.0',
stability: 'stable',
owners: ['@example.marketplace'],
tags: ['marketplace', 'review', 'list'],
description: 'List reviews with filters.',
goal: 'Display product/store reviews.',
context: 'Product page, store page.',
},
io: { input: ListReviewsInputModel, output: ListReviewsOutputModel },
policy: { auth: 'anonymous' },
acceptance: {
scenarios: [
{
key: 'list-reviews-happy-path',
given: ['Product has reviews'],
when: ['User views reviews'],
then: ['List of reviews is returned'],
},
],
examples: [
{
key: 'list-product-reviews',
input: { productId: 'prod-456', limit: 10 },
output: { items: [], total: 10, hasMore: false },
},
],
},
});