{"id":"@lssm-tech/app.storybook","slug":"app.storybook","name":"@lssm-tech/app.storybook","version":"0.1.3","path":"packages/apps/storybook","manifestPath":"packages/apps/storybook/package.json","manifestBlobSha":"353a07e1b5bcce8c10c23426140edeeff3aaf6c5","layer":"apps","physicalArea":null,"primaryArea":"ui-and-presentations","classification":{"privateDeclared":true,"catalogFamily":null,"catalogKind":null,"catalogStatus":null,"adoptionMode":null,"stability":null},"description":"Private dogfood Storybook for ContractSpec package catalogs and the canonical design matrix.","descriptionOrigin":"package.json","catalog":{"visualTesting":{"status":"host-only","owner":"platform.design","rationale":"Private monorepo composition host; reusable scenarios, bindings, and preview annotations are published by package catalogs."}},"canonicalImports":[],"scripts":{"generate":"bun scripts/generate.ts","generate:check":"bun scripts/generate.ts --check","storybook":"node --import tsx ./node_modules/storybook/dist/bin/dispatcher.js dev -p 6006 -c .storybook","storybook:build":"STORYBOOK_MCP_DOCS_ONLY=true node --import tsx ./node_modules/storybook/dist/bin/dispatcher.js build -c .storybook -o storybook-static","test":"bun test src --path-ignore-patterns='src/packed-catalog.test.ts'","test:packed":"bun test src/packed-catalog.test.ts","test:browser":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.config.ts","test:browser:fast":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.fast.config.ts","test:browser:webkit":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.webkit.config.ts","test:browser:reduced-motion":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.reduced-motion.config.ts","test:browser:coverage":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.config.ts --coverage","test:visual-browser":"bun run storybook:build && bun scripts/verify-visual-acceptance.ts","chromatic":"node --import tsx ./node_modules/chromatic/dist/bin.cjs --exit-once-uploaded --build-script-name=storybook:build","lint:check":"node ../../../scripts/biome.cjs check .","lint:fix":"node ../../../scripts/biome.cjs check --write .","typecheck":"tsgo --noEmit","test:browser:builder":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.builder.config.ts","test:browser:builder:mobile":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.builder.mobile.config.ts","test:browser:builder:webkit":"node --import tsx ./node_modules/vitest/vitest.mjs run --config vitest.builder.webkit.config.ts"},"scriptStatus":"complete pinned manifest","dependencies":{"@tanstack/react-query":"^5.103.1","@lssm-tech/integration.storybook":"workspace:*","@lssm-tech/lib.design-catalog":"workspace:*","@lssm-tech/lib.design-system":"workspace:*","@lssm-tech/lib.ui-kit-web":"workspace:*","@lssm-tech/module.communication-os":"workspace:*","react":"catalog:","react-dom":"catalog:","zod":"catalog:","@lssm-tech/module.builder-workbench":"workspace:*"},"devDependencies":{"@fontsource/atkinson-hyperlegible":"5.3.0","@fontsource/bricolage-grotesque":"5.3.0","@fontsource/fraunces":"5.3.0","@fontsource/ibm-plex-mono":"5.3.0","@fontsource/ibm-plex-sans":"5.3.0","@fontsource/newsreader":"5.3.0","@fontsource/unbounded":"5.3.0","@tailwindcss/postcss":"4.3.3","@lssm-tech/tool.typescript":"workspace:*","@storybook/addon-a11y":"catalog:testing","@storybook/addon-docs":"catalog:testing","@storybook/addon-mcp":"catalog:testing","@storybook/addon-themes":"catalog:testing","@storybook/addon-vitest":"catalog:testing","@storybook/builder-vite":"catalog:testing","@storybook/nextjs-vite":"catalog:testing","@storybook/react":"catalog:testing","@storybook/react-vite":"catalog:testing","@types/bun":"catalog:types","@types/node":"catalog:types","@types/react":"catalog:types","@types/react-dom":"catalog:types","@vitest/browser":"catalog:testing","@vitest/browser-playwright":"catalog:testing","@vitest/coverage-v8":"catalog:testing","chromatic":"catalog:testing","msw":"catalog:testing","msw-storybook-addon":"catalog:testing","playwright":"catalog:testing","storybook":"catalog:testing","tailwindcss":"catalog:build","typescript":"catalog:testing","vitest":"catalog:testing","tsx":"4.23.13"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":null,"publishExports":null,"types":null,"files":null,"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[],"entryCount":0,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/storybook","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/storybook/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/storybook/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/app.storybook.txt"},"readme":{"status":"available","body":"# ContractSpec Storybook\n\nPrivate dogfood host for `@lssm-tech/integration.storybook`. The app owns only\ncatalog selection and host configuration; reusable scenarios, bindings,\nproviders, and styling live in their publishing packages.\n\nThe canonical design suite is 30 built-in design packs × 8 surface families × 2 governed web profiles, producing 480 Chromatic snapshots. Native profiles remain in their existing qualification lanes.\n\nThe host explicitly opts into four catalogs:\n\n- `@lssm-tech/lib.design-catalog/storybook` — 480 design-matrix stories.\n- `@lssm-tech/lib.design-system/storybook` — 30 canonical-family stories.\n- `@lssm-tech/lib.ui-kit-web/storybook` — 16 web-primitive stories.\n- `@lssm-tech/module.communication-os/storybook` — 480 migrated product stories.\n\nThe host also owns the cross-catalog runtime: Storybook Docs and MDX, React\nDocgen, class-based light/dark themes, official and ContractSpec viewport\npresets, deterministic locale/context/flag/API-state toolbars, isolated query\ncaches and browser storage, strict MSW network handling, portal isolation,\nStorybook MCP, and Chromium/WebKit/reduced-motion browser profiles.\n\nThe authoring-pattern stories exercise typed fixtures, inferred controls,\nmeta- and story-local render/decorator/lifecycle behavior, `fn()` spies, named\ninteraction steps, keyboard and pointer flows, scoped portal queries, and\ncomposed play workflows.\n\nThe design matrix uses eight distinct production-shaped fixtures and the real\nTailwind, ThemeSpec, design-pack, locale, semantic-token, reduced-motion, and\nself-hosted font pipeline. Browser-default or placeholder rendering is a\nrelease failure.\n\nRepository governance also inventories every other React package. Catalog and\nhost status live in package-local `contractspec.catalog.visualTesting`\nmetadata; deferred packages carry an accountable owner, rationale, and rollout\nwave rather than disappearing from Storybook adoption checks.\n\n```sh\nbun run generate\nbun run generate:check\nbun run storybook\nbun run storybook:build\nbun run test:visual-browser\nbun run test:browser:webkit\nbun run test:browser:reduced-motion\nbun run test:browser:coverage\n```\n\n`test:visual-browser` builds the static host and verifies the sixteen canonical\nreference cases in Chromium: eight Editorial light/mobile surfaces and eight\nExecutive Ledger dark/desktop surfaces. It checks computed Tailwind layout,\nsemantic colors and radii, self-hosted font resources, theme-global propagation,\nviewport-specific composition, console cleanliness, and non-empty screenshots\nagainst `references/design-matrix.json`.\n\nThe sixteen reviewed local PNG goldens are committed under\n`references/screenshots`; the manifest locks every byte size and SHA-256 hash.\nSet `STORYBOOK_REFERENCE_OUTPUT` to retain a fresh browser run elsewhere.\nChromatic remains the cross-platform pixel-diff authority because Chromium and\nfont rasterization vary across hosts.\n\nChromatic is optional. `bun run chromatic` reads `CHROMATIC_PROJECT_TOKEN` from the environment; no project token is stored in this package. TurboSnap remains disabled until the repository records ten successful full builds and explicitly opts in.\n\nStorybook, Vitest browser profiles and Chromatic launch under Node.js. Use the\nrunner profile's pinned Node toolchain; on Apple Silicon it must match the native\ndependency architecture. Bun remains the package manager and catalog/unit-test\nrunner. The packed-consumer proof uses the same Node-based Storybook launcher.\n\nThe local development commands preload the pinned `tsx` loader for workspace\nTypeScript exports. The packed-consumer proof runs ordinary Node against published\nJavaScript export maps, preserving the distinction between development and release.\n\n## Builder company-context workflow\n\n`src/builder/company-context.stories.tsx` exercises the shared Builder panel\nwith deterministic, in-memory context responses. It covers explicit retrieval,\nrelease-authority messaging, loading, unavailable configuration, denied access,\nconflicting sources, untrusted text, and UTF-8 question limits. These are UI\nqualification fixtures; they do not qualify a live knowledge provider or grant\nrelease authority. Run the focused Chromium lane with:\n\n```sh\nbun run test:browser:builder\nbun run test:browser:builder:mobile\nbun run test:browser:builder:webkit\n```\n\nThe focused lane indexes only these seven stories with one Chromium worker,\nusing the same Next.js-Vite framework and shared preview as the full host.\nIt preserves strict MSW, sandbox isolation, fonts/themes, and accessibility\nchecks; it supplements rather than replaces the full catalog gates.\nThe mobile and WebKit profiles use a 390 × 844 viewport and check horizontal\noverflow in every state. WebKit here qualifies the browser engine at that\nviewport; it does not establish physical iOS-device or native-app support.\n\nAccessibility violations are errors for these stories. Reviewed visual\nbaselines and live grounding remain separate release requirements.\n\nThe focused Builder catalog also includes `candidate-execution.stories.tsx`: a\ncontrolled prepare/approve/run/status journey and unavailable/unknown states.\nThese are deterministic UI fixtures; live authority, retained artifacts and\nAgentHost execution require separate end-to-end qualification.\n","sourcePath":"packages/apps/storybook/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/storybook/README.md","blobSha":"34eeb0eb1de626ac66274d56c1e8d97ac9f83376","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"ui-and-presentations","areaTitle":"Interfaces, presentations and design","displayName":"app.storybook","runtimes":[],"platforms":[],"kind":"apps","scope":"Workspace only","canonicalRoute":"/docs/packages/app.storybook/","contextUrl":"/docs/packages/app.storybook.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}