noecosystem-design 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +12 -0
- package/.github/CODEOWNERS +10 -0
- package/.github/dependabot.yml +12 -0
- package/.github/pull_request_template.md +17 -0
- package/.github/workflows/ci.yml +173 -0
- package/.github/workflows/security.yml +40 -0
- package/.mcp.json +8 -0
- package/.node-version +1 -0
- package/AGENTS.md +62 -0
- package/CONTRIBUTING.md +9 -0
- package/README.md +48 -0
- package/SECURITY.md +7 -0
- package/apps/showcase/index.html +28 -0
- package/apps/showcase/package.json +30 -0
- package/apps/showcase/src/app.css +8 -0
- package/apps/showcase/src/app.tsx +10 -0
- package/apps/showcase/src/catalog/agent-composer-preview.tsx +17 -0
- package/apps/showcase/src/catalog/catalog-index.tsx +2676 -0
- package/apps/showcase/src/catalog/catalog-shell.browser.test.tsx +73 -0
- package/apps/showcase/src/catalog/catalog-shell.tsx +506 -0
- package/apps/showcase/src/main.tsx +17 -0
- package/apps/showcase/tsconfig.json +11 -0
- package/apps/showcase/vite.config.ts +15 -0
- package/apps/storybook/.storybook/main.ts +21 -0
- package/apps/storybook/.storybook/preview.tsx +87 -0
- package/apps/storybook/.storybook/vitest.setup.ts +26 -0
- package/apps/storybook/README.md +5 -0
- package/apps/storybook/package.json +31 -0
- package/apps/storybook/stories/AgentStates.stories.tsx +72 -0
- package/apps/storybook/stories/Bidi.stories.tsx +31 -0
- package/apps/storybook/stories/Button.stories.tsx +19 -0
- package/apps/storybook/stories/Surfaces.stories.tsx +28 -0
- package/apps/storybook/stories/catalog/about-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/activity-feed.stories.tsx +50 -0
- package/apps/storybook/stories/catalog/activity-gauge.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/agent-composer.stories.tsx +49 -0
- package/apps/storybook/stories/catalog/agent-message.stories.tsx +37 -0
- package/apps/storybook/stories/catalog/agent-plan.stories.tsx +35 -0
- package/apps/storybook/stories/catalog/agent-workspace.stories.tsx +60 -0
- package/apps/storybook/stories/catalog/alert.stories.tsx +41 -0
- package/apps/storybook/stories/catalog/app-frame.stories.tsx +47 -0
- package/apps/storybook/stories/catalog/approval-request.stories.tsx +30 -0
- package/apps/storybook/stories/catalog/avatar.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/badge-group.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/badge.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/banner.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/bidi-text.stories.tsx +47 -0
- package/apps/storybook/stories/catalog/blog-index-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/blog-post-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/blog-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/bottom-navigation.stories.tsx +27 -0
- package/apps/storybook/stories/catalog/button-group.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/button.stories.tsx +27 -0
- package/apps/storybook/stories/catalog/calendar.stories.tsx +47 -0
- package/apps/storybook/stories/catalog/card.stories.tsx +40 -0
- package/apps/storybook/stories/catalog/careers-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/carousel.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/chart-frame.stories.tsx +34 -0
- package/apps/storybook/stories/catalog/chart.stories.tsx +43 -0
- package/apps/storybook/stories/catalog/checkbox.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/code-and-terminal.stories.tsx +39 -0
- package/apps/storybook/stories/catalog/color-picker.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/command-menu.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/contact-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/contact-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/content-divider.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/content-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/context-menu.stories.tsx +66 -0
- package/apps/storybook/stories/catalog/credit-card.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/cta-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/dashboard-01.stories.tsx +28 -0
- package/apps/storybook/stories/catalog/dashboard-02.stories.tsx +28 -0
- package/apps/storybook/stories/catalog/dashboard-shell.stories.tsx +65 -0
- package/apps/storybook/stories/catalog/data-list.stories.tsx +37 -0
- package/apps/storybook/stories/catalog/data-table.stories.tsx +51 -0
- package/apps/storybook/stories/catalog/date-picker.stories.tsx +31 -0
- package/apps/storybook/stories/catalog/dialog.stories.tsx +68 -0
- package/apps/storybook/stories/catalog/direction-provider.stories.tsx +36 -0
- package/apps/storybook/stories/catalog/drawer.stories.tsx +58 -0
- package/apps/storybook/stories/catalog/dropdown.stories.tsx +67 -0
- package/apps/storybook/stories/catalog/email-template.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/empty-state.stories.tsx +19 -0
- package/apps/storybook/stories/catalog/error-state.stories.tsx +19 -0
- package/apps/storybook/stories/catalog/fab.stories.tsx +22 -0
- package/apps/storybook/stories/catalog/faq-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/faq-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/feature-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/featured-icon.stories.tsx +45 -0
- package/apps/storybook/stories/catalog/field.stories.tsx +35 -0
- package/apps/storybook/stories/catalog/file-uploader.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/filter-bar.stories.tsx +33 -0
- package/apps/storybook/stories/catalog/footer.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/forgot-password-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/gradient-picker.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/header-navigation.stories.tsx +46 -0
- package/apps/storybook/stories/catalog/hero-header.stories.tsx +36 -0
- package/apps/storybook/stories/catalog/icon-system.stories.tsx +48 -0
- package/apps/storybook/stories/catalog/illustration.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/image-picker.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/informational-page-01.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/informational-page-02.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/inline-cta.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/input.stories.tsx +21 -0
- package/apps/storybook/stories/catalog/landing-page.stories.tsx +28 -0
- package/apps/storybook/stories/catalog/legal-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/login-page.stories.tsx +42 -0
- package/apps/storybook/stories/catalog/marketing-404-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/marketing-header.stories.tsx +35 -0
- package/apps/storybook/stories/catalog/menu.stories.tsx +46 -0
- package/apps/storybook/stories/catalog/messaging.stories.tsx +33 -0
- package/apps/storybook/stories/catalog/metric-card.stories.tsx +20 -0
- package/apps/storybook/stories/catalog/metrics-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/mobile-screen.stories.tsx +56 -0
- package/apps/storybook/stories/catalog/multi-select.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/newsletter.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/not-found.stories.tsx +30 -0
- package/apps/storybook/stories/catalog/notification.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/page-header.stories.tsx +37 -0
- package/apps/storybook/stories/catalog/pagination.stories.tsx +27 -0
- package/apps/storybook/stories/catalog/pie-chart.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/pricing-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/pricing-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/progress-indicator.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/progress-steps.stories.tsx +33 -0
- package/apps/storybook/stories/catalog/qr-code.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/radar-chart.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/radio-group.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/rating.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/rich-text-editor.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/run-inspector.stories.tsx +23 -0
- package/apps/storybook/stories/catalog/section-footer.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/section-header.stories.tsx +31 -0
- package/apps/storybook/stories/catalog/select.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/settings-01.stories.tsx +24 -0
- package/apps/storybook/stories/catalog/settings-02.stories.tsx +24 -0
- package/apps/storybook/stories/catalog/settings-page.stories.tsx +48 -0
- package/apps/storybook/stories/catalog/sidebar-navigation.stories.tsx +40 -0
- package/apps/storybook/stories/catalog/sign-in-form.stories.tsx +28 -0
- package/apps/storybook/stories/catalog/sign-up-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/skeleton.stories.tsx +21 -0
- package/apps/storybook/stories/catalog/slider.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/social-button.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/social-proof.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/spinner.stories.tsx +15 -0
- package/apps/storybook/stories/catalog/store-button.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/tabs.stories.tsx +38 -0
- package/apps/storybook/stories/catalog/tags.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/team-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/team-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/testimonial-section.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/textarea.stories.tsx +22 -0
- package/apps/storybook/stories/catalog/toggle.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/tool-call.stories.tsx +40 -0
- package/apps/storybook/stories/catalog/tooltip.stories.tsx +30 -0
- package/apps/storybook/stories/catalog/tree-view.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/utility-button.stories.tsx +60 -0
- package/apps/storybook/stories/catalog/verification-code.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/verification-page.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/video-player.stories.tsx +18 -0
- package/apps/storybook/stories/catalog/workflow-canvas.stories.tsx +45 -0
- package/apps/storybook/stories/catalog/workflow-node.stories.tsx +24 -0
- package/apps/storybook/vitest.config.ts +39 -0
- package/apps/web/README.md +13 -0
- package/apps/web/app.js +483 -0
- package/apps/web/favicon.svg +6 -0
- package/apps/web/index.html +205 -0
- package/apps/web/styles.css +1823 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/README-FIRST.txt +20 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/SHA256SUMS.txt +11 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-delivery-metadata.json +25 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-evidence.zip +0 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-execution-report.md +60 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-manifest.json +106 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-source.tar.gz +0 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system-source.zip +0 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-design-system.bundle +0 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-evidence-index.html +38 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-verification-status.txt +15 -0
- package/artifacts/original-delivery/NOE-Design-System-Delivery/noe-visual-contact-sheet.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/README.txt +13 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/browser-console.json +4 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/layout-audit.json +4 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/review/contact-sheet.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-1024.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-1280.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-390.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-dark-768.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-1024.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-1280.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-390.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-en-light-768.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-1024.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-1280.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-390.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-dark-768.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-1024.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-1280.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-390.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-fa-light-768.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-pseudo-ltr-1024.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/agent-pseudo-rtl-1024.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/consumer-en-light-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/consumer-fa-dark-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/dashboard-en-light-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/dashboard-fa-dark-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/workflow-en-light-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots/workflow-fa-dark-1440.png +0 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/screenshots-manifest.json +203 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/verification-result.json +165 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/verification-result.txt +32 -0
- package/artifacts/original-delivery/noe-design-system-evidence/evidence/visual-index.html +1 -0
- package/artifacts/original-delivery/noe-design-system-evidence/noe-delivery-metadata.json +25 -0
- package/artifacts/original-delivery/noe-design-system-evidence/noe-design-system-execution-report.md +60 -0
- package/artifacts/original-delivery/noe-design-system-evidence/noe-design-system-manifest.json +106 -0
- package/artifacts/original-delivery/noe-design-system-evidence/noe-verification-status.txt +15 -0
- package/artifacts/original-delivery/noe-design-system.bundle +0 -0
- package/artifacts/original-delivery/source-evidence/verification-result.json +165 -0
- package/artifacts/original-delivery/source-evidence/verification-result.txt +32 -0
- package/artifacts/registry-consumer-report.json +153 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Black.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Bold.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-DemiBold.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-ExtraBlack.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-ExtraBold.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Heavy.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Light.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Medium.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Regular.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-Thin.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff/IRANYekanXFaNum-UltraLight.woff +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Black.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Bold.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-DemiBold.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-ExtraBlack.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-ExtraBold.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Heavy.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Light.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Medium.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Regular.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-Thin.woff2 +0 -0
- package/artifacts/source-inputs/persian-fonts/Woff2/IRANYekanXFaNum-UltraLight.woff2 +0 -0
- package/biome.json +170 -0
- package/components.json +23 -0
- package/docs/adr/0001-semantic-foundation.md +5 -0
- package/docs/adr/0002-locale-direction.md +5 -0
- package/docs/adr/0003-registry-mcp.md +5 -0
- package/docs/adr/0004-testing-evidence.md +5 -0
- package/docs/adr/0005-noe-package-namespace.md +9 -0
- package/docs/adr/0006-icons8-icon-policy.md +9 -0
- package/docs/adr/0007-registry-publication-contract.md +9 -0
- package/docs/adr/0008-capability-library-adapter-boundaries.md +16 -0
- package/docs/adr/0009-calendar-system-jalali.md +29 -0
- package/docs/adr/0010-canonical-manifest-ownership.md +29 -0
- package/docs/adr/0011-palette-graphite-governance.md +27 -0
- package/docs/adr/0012-persian-font-gating.md +25 -0
- package/docs/adr/0013-cinematic-token-exception.md +32 -0
- package/docs/design-system/README.md +16 -0
- package/docs/design-system/accessibility.md +20 -0
- package/docs/design-system/agent-guide.md +11 -0
- package/docs/design-system/agentic-ui.md +21 -0
- package/docs/design-system/architecture.md +40 -0
- package/docs/design-system/brand.md +59 -0
- package/docs/design-system/ci-cd.md +46 -0
- package/docs/design-system/components.md +88 -0
- package/docs/design-system/contributing.md +7 -0
- package/docs/design-system/foundations.md +40 -0
- package/docs/design-system/i18n.md +24 -0
- package/docs/design-system/inventory.md +389 -0
- package/docs/design-system/mcp.md +7 -0
- package/docs/design-system/motion.md +7 -0
- package/docs/design-system/noe-brand-audit.md +33 -0
- package/docs/design-system/registry.md +16 -0
- package/docs/design-system/rtl.md +27 -0
- package/docs/design-system/security.md +16 -0
- package/docs/design-system/testing.md +39 -0
- package/docs/design-system/tokens.md +38 -0
- package/docs/design-system/visual-qa.md +10 -0
- package/docs/superpowers/plans/2026-08-25-noe-design-system-development-ready.md +833 -0
- package/docs/superpowers/plans/2026-08-26-noe-complete-catalog.md +422 -0
- package/docs/superpowers/specs/2026-08-25-noe-design-system-development-ready-design.md +260 -0
- package/docs/superpowers/specs/2026-08-26-noe-complete-catalog-design.md +187 -0
- package/llms.txt +20 -0
- package/package.json +68 -0
- package/packages/ai-ui/package.json +15 -0
- package/packages/ai-ui/src/activity-feed.tsx +60 -0
- package/packages/ai-ui/src/agent-composer.tsx +54 -0
- package/packages/ai-ui/src/agent-message.tsx +50 -0
- package/packages/ai-ui/src/agent-plan.tsx +69 -0
- package/packages/ai-ui/src/agent-workspace.tsx +63 -0
- package/packages/ai-ui/src/approval-request.tsx +93 -0
- package/packages/ai-ui/src/index.ts +8 -0
- package/packages/ai-ui/src/run-inspector.tsx +54 -0
- package/packages/ai-ui/src/tool-call.tsx +71 -0
- package/packages/data-ui/package.json +16 -0
- package/packages/data-ui/src/activity-gauge.tsx +38 -0
- package/packages/data-ui/src/chart-frame.tsx +41 -0
- package/packages/data-ui/src/chart.tsx +131 -0
- package/packages/data-ui/src/dashboard-01.tsx +39 -0
- package/packages/data-ui/src/dashboard-02.tsx +33 -0
- package/packages/data-ui/src/dashboard-shell.tsx +56 -0
- package/packages/data-ui/src/data-table.tsx +99 -0
- package/packages/data-ui/src/filter-bar.tsx +28 -0
- package/packages/data-ui/src/index.ts +12 -0
- package/packages/data-ui/src/metric-card.tsx +43 -0
- package/packages/data-ui/src/pagination.tsx +67 -0
- package/packages/data-ui/src/pie-chart.tsx +38 -0
- package/packages/data-ui/src/radar-chart.tsx +38 -0
- package/packages/design-tokens/package.json +23 -0
- package/packages/design-tokens/src/base.css +255 -0
- package/packages/design-tokens/src/fonts/IRANYekanXFaNum-Bold.woff2 +0 -0
- package/packages/design-tokens/src/fonts/IRANYekanXFaNum-DemiBold.woff2 +0 -0
- package/packages/design-tokens/src/fonts/IRANYekanXFaNum-Medium.woff2 +0 -0
- package/packages/design-tokens/src/fonts/IRANYekanXFaNum-Regular.woff2 +0 -0
- package/packages/design-tokens/src/fonts/IRANYekanXVF.ttf +0 -0
- package/packages/design-tokens/src/fonts/README.md +13 -0
- package/packages/design-tokens/src/fonts.css +49 -0
- package/packages/design-tokens/src/index.test.ts +36 -0
- package/packages/design-tokens/src/index.ts +5 -0
- package/packages/design-tokens/src/palette.ts +27 -0
- package/packages/design-tokens/src/tailwind.css +3 -0
- package/packages/design-tokens/src/theme.css +67 -0
- package/packages/design-tokens/src/tokens.css +251 -0
- package/packages/design-tokens/src/tokens.json +275 -0
- package/packages/design-tokens/src/tokens.mjs +276 -0
- package/packages/i18n/package.json +13 -0
- package/packages/i18n/src/index.ts +17 -0
- package/packages/i18n/src/messages/en.json +116 -0
- package/packages/i18n/src/messages/fa.json +116 -0
- package/packages/i18n/src/runtime.d.mts +42 -0
- package/packages/i18n/src/runtime.mjs +113 -0
- package/packages/i18n/src/translate.test.ts +50 -0
- package/packages/i18n/src/translate.ts +29 -0
- package/packages/icons/package.json +12 -0
- package/packages/icons/src/adapters.tsx +167 -0
- package/packages/icons/src/index.tsx +103 -0
- package/packages/registry/README.md +7 -0
- package/packages/registry/catalog-index.json +1345 -0
- package/packages/registry/component-audit.json +1038 -0
- package/packages/registry/coss-adoption.json +281 -0
- package/packages/registry/docs-index.json +1881 -0
- package/packages/registry/manifest.json +11081 -0
- package/packages/registry/manifest.schema.json +135 -0
- package/packages/registry/package.json +10 -0
- package/packages/registry/r/activity-feed.json +67 -0
- package/packages/registry/r/agent-composer.json +79 -0
- package/packages/registry/r/agent-message.json +72 -0
- package/packages/registry/r/agent-plan.json +67 -0
- package/packages/registry/r/agent-workspace.json +67 -0
- package/packages/registry/r/alert.json +68 -0
- package/packages/registry/r/app-frame.json +67 -0
- package/packages/registry/r/approval-request.json +84 -0
- package/packages/registry/r/badge.json +68 -0
- package/packages/registry/r/bidi-text.json +70 -0
- package/packages/registry/r/bottom-navigation.json +67 -0
- package/packages/registry/r/button.json +83 -0
- package/packages/registry/r/calendar.json +97 -0
- package/packages/registry/r/card.json +67 -0
- package/packages/registry/r/chart-frame.json +67 -0
- package/packages/registry/r/chart.json +67 -0
- package/packages/registry/r/code-block.json +67 -0
- package/packages/registry/r/context-menu.json +81 -0
- package/packages/registry/r/dashboard-01.json +86 -0
- package/packages/registry/r/dashboard-02.json +84 -0
- package/packages/registry/r/dashboard-shell.json +67 -0
- package/packages/registry/r/data-list.json +67 -0
- package/packages/registry/r/data-table.json +72 -0
- package/packages/registry/r/date-picker.json +117 -0
- package/packages/registry/r/dialog.json +84 -0
- package/packages/registry/r/direction-provider.json +54 -0
- package/packages/registry/r/drawer.json +80 -0
- package/packages/registry/r/dropdown.json +78 -0
- package/packages/registry/r/empty-state.json +67 -0
- package/packages/registry/r/error-state.json +67 -0
- package/packages/registry/r/fab.json +80 -0
- package/packages/registry/r/featured-icon.json +71 -0
- package/packages/registry/r/filter-bar.json +69 -0
- package/packages/registry/r/gradient-picker.json +62 -0
- package/packages/registry/r/header-navigation.json +67 -0
- package/packages/registry/r/hero-header.json +63 -0
- package/packages/registry/r/icon-system.json +59 -0
- package/packages/registry/r/image-picker.json +62 -0
- package/packages/registry/r/inline-cta.json +73 -0
- package/packages/registry/r/input.json +73 -0
- package/packages/registry/r/landing-page.json +70 -0
- package/packages/registry/r/login-page.json +71 -0
- package/packages/registry/r/marketing-header.json +63 -0
- package/packages/registry/r/menu.json +74 -0
- package/packages/registry/r/messaging.json +69 -0
- package/packages/registry/r/metric-card.json +67 -0
- package/packages/registry/r/mobile-screen.json +67 -0
- package/packages/registry/r/not-found.json +63 -0
- package/packages/registry/r/page-header.json +67 -0
- package/packages/registry/r/pagination.json +91 -0
- package/packages/registry/r/progress-steps.json +69 -0
- package/packages/registry/r/run-inspector.json +72 -0
- package/packages/registry/r/section-header.json +67 -0
- package/packages/registry/r/settings-01.json +94 -0
- package/packages/registry/r/settings-02.json +99 -0
- package/packages/registry/r/settings-page.json +67 -0
- package/packages/registry/r/sidebar-navigation.json +67 -0
- package/packages/registry/r/sign-in-form.json +89 -0
- package/packages/registry/r/skeleton.json +67 -0
- package/packages/registry/r/spinner.json +67 -0
- package/packages/registry/r/tabs.json +69 -0
- package/packages/registry/r/textarea.json +73 -0
- package/packages/registry/r/tool-call.json +72 -0
- package/packages/registry/r/tooltip.json +73 -0
- package/packages/registry/r/utility-button.json +83 -0
- package/packages/registry/r/workflow-canvas.json +67 -0
- package/packages/registry/r/workflow-node.json +72 -0
- package/packages/registry/r-planned-backup/about-page.json +14 -0
- package/packages/registry/r-planned-backup/activity-gauge.json +14 -0
- package/packages/registry/r-planned-backup/avatar.json +14 -0
- package/packages/registry/r-planned-backup/badge-group.json +14 -0
- package/packages/registry/r-planned-backup/banner.json +14 -0
- package/packages/registry/r-planned-backup/blog-index-page.json +14 -0
- package/packages/registry/r-planned-backup/blog-post-page.json +14 -0
- package/packages/registry/r-planned-backup/blog-section.json +14 -0
- package/packages/registry/r-planned-backup/button-group.json +14 -0
- package/packages/registry/r-planned-backup/careers-section.json +14 -0
- package/packages/registry/r-planned-backup/carousel.json +14 -0
- package/packages/registry/r-planned-backup/checkbox.json +14 -0
- package/packages/registry/r-planned-backup/color-picker.json +14 -0
- package/packages/registry/r-planned-backup/command-menu.json +14 -0
- package/packages/registry/r-planned-backup/contact-page.json +14 -0
- package/packages/registry/r-planned-backup/contact-section.json +14 -0
- package/packages/registry/r-planned-backup/content-divider.json +14 -0
- package/packages/registry/r-planned-backup/content-section.json +14 -0
- package/packages/registry/r-planned-backup/credit-card.json +14 -0
- package/packages/registry/r-planned-backup/cta-section.json +14 -0
- package/packages/registry/r-planned-backup/email-template.json +14 -0
- package/packages/registry/r-planned-backup/faq-page.json +14 -0
- package/packages/registry/r-planned-backup/faq-section.json +14 -0
- package/packages/registry/r-planned-backup/feature-section.json +14 -0
- package/packages/registry/r-planned-backup/file-uploader.json +14 -0
- package/packages/registry/r-planned-backup/footer.json +14 -0
- package/packages/registry/r-planned-backup/forgot-password-page.json +14 -0
- package/packages/registry/r-planned-backup/illustration.json +14 -0
- package/packages/registry/r-planned-backup/informational-page-01.json +14 -0
- package/packages/registry/r-planned-backup/informational-page-02.json +14 -0
- package/packages/registry/r-planned-backup/legal-page.json +14 -0
- package/packages/registry/r-planned-backup/marketing-404-page.json +14 -0
- package/packages/registry/r-planned-backup/metrics-section.json +14 -0
- package/packages/registry/r-planned-backup/multi-select.json +14 -0
- package/packages/registry/r-planned-backup/newsletter.json +14 -0
- package/packages/registry/r-planned-backup/notification.json +14 -0
- package/packages/registry/r-planned-backup/pie-chart.json +14 -0
- package/packages/registry/r-planned-backup/pricing-page.json +14 -0
- package/packages/registry/r-planned-backup/pricing-section.json +14 -0
- package/packages/registry/r-planned-backup/progress-indicator.json +14 -0
- package/packages/registry/r-planned-backup/qr-code.json +14 -0
- package/packages/registry/r-planned-backup/radar-chart.json +14 -0
- package/packages/registry/r-planned-backup/radio-group.json +14 -0
- package/packages/registry/r-planned-backup/rating.json +14 -0
- package/packages/registry/r-planned-backup/rich-text-editor.json +14 -0
- package/packages/registry/r-planned-backup/section-footer.json +14 -0
- package/packages/registry/r-planned-backup/select.json +14 -0
- package/packages/registry/r-planned-backup/sign-up-page.json +14 -0
- package/packages/registry/r-planned-backup/slider.json +14 -0
- package/packages/registry/r-planned-backup/social-button.json +14 -0
- package/packages/registry/r-planned-backup/social-proof.json +14 -0
- package/packages/registry/r-planned-backup/store-button.json +14 -0
- package/packages/registry/r-planned-backup/tags.json +14 -0
- package/packages/registry/r-planned-backup/team-page.json +14 -0
- package/packages/registry/r-planned-backup/team-section.json +14 -0
- package/packages/registry/r-planned-backup/testimonial-section.json +14 -0
- package/packages/registry/r-planned-backup/toggle.json +14 -0
- package/packages/registry/r-planned-backup/tree-view.json +14 -0
- package/packages/registry/r-planned-backup/verification-code.json +14 -0
- package/packages/registry/r-planned-backup/verification-page.json +14 -0
- package/packages/registry/r-planned-backup/video-player.json +14 -0
- package/packages/registry/registry.json +1997 -0
- package/packages/registry/search-index.json +3942 -0
- package/packages/testing/package.json +9 -0
- package/packages/testing/src/index.mjs +10 -0
- package/packages/ui/package.json +26 -0
- package/packages/ui/src/about-page.tsx +19 -0
- package/packages/ui/src/alert.tsx +67 -0
- package/packages/ui/src/app-frame.tsx +63 -0
- package/packages/ui/src/avatar.tsx +19 -0
- package/packages/ui/src/badge-group.tsx +19 -0
- package/packages/ui/src/badge.tsx +35 -0
- package/packages/ui/src/banner.tsx +19 -0
- package/packages/ui/src/bidi.tsx +80 -0
- package/packages/ui/src/blog-index-page.tsx +19 -0
- package/packages/ui/src/blog-post-page.tsx +19 -0
- package/packages/ui/src/blog-section.tsx +19 -0
- package/packages/ui/src/bottom-navigation.tsx +60 -0
- package/packages/ui/src/button-group.tsx +19 -0
- package/packages/ui/src/button.browser.test.tsx +38 -0
- package/packages/ui/src/button.tsx +81 -0
- package/packages/ui/src/calendar-system.test.ts +103 -0
- package/packages/ui/src/calendar-system.ts +120 -0
- package/packages/ui/src/calendar.browser.test.tsx +52 -0
- package/packages/ui/src/calendar.tsx +339 -0
- package/packages/ui/src/card.tsx +63 -0
- package/packages/ui/src/careers-section.tsx +19 -0
- package/packages/ui/src/carousel.tsx +19 -0
- package/packages/ui/src/checkbox.tsx +17 -0
- package/packages/ui/src/cinematic/cinematic.css +2020 -0
- package/packages/ui/src/cinematic/ecosystem-motion-showcase.tsx +265 -0
- package/packages/ui/src/cinematic/ecosystem-sphere.tsx +627 -0
- package/packages/ui/src/cinematic/index.ts +5 -0
- package/packages/ui/src/cinematic/kinetic-experience.tsx +207 -0
- package/packages/ui/src/cinematic/portfolio.ts +132 -0
- package/packages/ui/src/cinematic/system-anatomy.tsx +173 -0
- package/packages/ui/src/code.tsx +119 -0
- package/packages/ui/src/color-picker.tsx +22 -0
- package/packages/ui/src/command-menu.tsx +19 -0
- package/packages/ui/src/contact-page.tsx +19 -0
- package/packages/ui/src/contact-section.tsx +19 -0
- package/packages/ui/src/content-divider.tsx +19 -0
- package/packages/ui/src/content-section.tsx +19 -0
- package/packages/ui/src/context-menu.tsx +208 -0
- package/packages/ui/src/credit-card.tsx +19 -0
- package/packages/ui/src/cta-section.tsx +19 -0
- package/packages/ui/src/data-list.tsx +81 -0
- package/packages/ui/src/date-picker.browser.test.tsx +48 -0
- package/packages/ui/src/date-picker.tsx +248 -0
- package/packages/ui/src/dialog.browser.test.tsx +32 -0
- package/packages/ui/src/dialog.tsx +144 -0
- package/packages/ui/src/direction.tsx +46 -0
- package/packages/ui/src/drawer.tsx +179 -0
- package/packages/ui/src/dropdown.tsx +200 -0
- package/packages/ui/src/email-template.tsx +19 -0
- package/packages/ui/src/empty-state.tsx +43 -0
- package/packages/ui/src/error-state.tsx +44 -0
- package/packages/ui/src/fab.tsx +32 -0
- package/packages/ui/src/faq-page.tsx +19 -0
- package/packages/ui/src/faq-section.tsx +19 -0
- package/packages/ui/src/feature-section.tsx +19 -0
- package/packages/ui/src/featured-icon.tsx +63 -0
- package/packages/ui/src/field.browser.test.tsx +33 -0
- package/packages/ui/src/field.tsx +117 -0
- package/packages/ui/src/file-uploader.tsx +19 -0
- package/packages/ui/src/footer.tsx +19 -0
- package/packages/ui/src/forgot-password-page.tsx +19 -0
- package/packages/ui/src/gradient-picker.tsx +65 -0
- package/packages/ui/src/header-navigation.tsx +71 -0
- package/packages/ui/src/hero-header.tsx +57 -0
- package/packages/ui/src/illustration.tsx +19 -0
- package/packages/ui/src/image-picker.tsx +56 -0
- package/packages/ui/src/index.ts +110 -0
- package/packages/ui/src/informational-page-01.tsx +19 -0
- package/packages/ui/src/informational-page-02.tsx +19 -0
- package/packages/ui/src/inline-cta.tsx +29 -0
- package/packages/ui/src/input.tsx +44 -0
- package/packages/ui/src/landing-page.tsx +56 -0
- package/packages/ui/src/legal-page.tsx +19 -0
- package/packages/ui/src/lib/cn.ts +6 -0
- package/packages/ui/src/lib/i18n-messages.ts +40 -0
- package/packages/ui/src/login-page.tsx +78 -0
- package/packages/ui/src/marketing-404-page.tsx +19 -0
- package/packages/ui/src/marketing-header.tsx +53 -0
- package/packages/ui/src/menu.tsx +220 -0
- package/packages/ui/src/messaging.tsx +62 -0
- package/packages/ui/src/metrics-section.tsx +19 -0
- package/packages/ui/src/mobile-screen.tsx +37 -0
- package/packages/ui/src/multi-select.tsx +16 -0
- package/packages/ui/src/newsletter.tsx +19 -0
- package/packages/ui/src/not-found.tsx +60 -0
- package/packages/ui/src/notification.tsx +19 -0
- package/packages/ui/src/page-header.tsx +80 -0
- package/packages/ui/src/pricing-page.tsx +19 -0
- package/packages/ui/src/pricing-section.tsx +19 -0
- package/packages/ui/src/progress-indicator.tsx +19 -0
- package/packages/ui/src/progress-steps.tsx +85 -0
- package/packages/ui/src/qr-code.tsx +19 -0
- package/packages/ui/src/radio-group.tsx +26 -0
- package/packages/ui/src/rating.tsx +19 -0
- package/packages/ui/src/rich-text-editor.tsx +18 -0
- package/packages/ui/src/section-footer.tsx +19 -0
- package/packages/ui/src/section-header.tsx +37 -0
- package/packages/ui/src/select.tsx +27 -0
- package/packages/ui/src/settings-01.tsx +49 -0
- package/packages/ui/src/settings-02.tsx +58 -0
- package/packages/ui/src/settings-page.tsx +62 -0
- package/packages/ui/src/sidebar-navigation.tsx +77 -0
- package/packages/ui/src/sign-in-form.tsx +60 -0
- package/packages/ui/src/sign-up-page.tsx +19 -0
- package/packages/ui/src/skeleton.tsx +14 -0
- package/packages/ui/src/slider.tsx +13 -0
- package/packages/ui/src/social-button.tsx +19 -0
- package/packages/ui/src/social-proof.tsx +19 -0
- package/packages/ui/src/spinner.tsx +26 -0
- package/packages/ui/src/store-button.tsx +19 -0
- package/packages/ui/src/tabs.browser.test.tsx +33 -0
- package/packages/ui/src/tabs.tsx +175 -0
- package/packages/ui/src/tags.tsx +11 -0
- package/packages/ui/src/team-page.tsx +19 -0
- package/packages/ui/src/team-section.tsx +19 -0
- package/packages/ui/src/testimonial-section.tsx +19 -0
- package/packages/ui/src/textarea.tsx +45 -0
- package/packages/ui/src/theme-provider.browser.test.tsx +90 -0
- package/packages/ui/src/theme-provider.tsx +417 -0
- package/packages/ui/src/theme-toggle.tsx +107 -0
- package/packages/ui/src/toggle.tsx +34 -0
- package/packages/ui/src/tooltip.tsx +50 -0
- package/packages/ui/src/tree-view.tsx +19 -0
- package/packages/ui/src/utility-button.tsx +33 -0
- package/packages/ui/src/utils.ts +13 -0
- package/packages/ui/src/verification-code.tsx +27 -0
- package/packages/ui/src/verification-page.tsx +19 -0
- package/packages/ui/src/video-player.tsx +19 -0
- package/packages/workflow-ui/package.json +15 -0
- package/packages/workflow-ui/src/index.ts +2 -0
- package/packages/workflow-ui/src/workflow-canvas.tsx +51 -0
- package/packages/workflow-ui/src/workflow-node.tsx +61 -0
- package/playwright.config.ts +58 -0
- package/pnpm-workspace.yaml +5 -0
- package/registry.json +216 -0
- package/scripts/build-static.mjs +68 -0
- package/scripts/capture-visuals.py +106 -0
- package/scripts/capture-visuals.sh +10 -0
- package/scripts/create-visual-index.mjs +16 -0
- package/scripts/enrich-registry-payloads.mjs +83 -0
- package/scripts/fix-noe-imports.mjs +134 -0
- package/scripts/fix-registry-closure.mjs +110 -0
- package/scripts/fix-registry-deps-cleanup.mjs +149 -0
- package/scripts/fix-relative-for-registry.mjs +103 -0
- package/scripts/generate-design-tokens.mjs +134 -0
- package/scripts/generate-inventory.mjs +62 -0
- package/scripts/generate-manifest.mjs +1149 -0
- package/scripts/generate-phase4.mjs +875 -0
- package/scripts/validate-manifest.mjs +477 -0
- package/scripts/validate-pngs.mjs +31 -0
- package/scripts/verify-registry-consumer.mjs +319 -0
- package/scripts/verify-registry-dependencies.mjs +162 -0
- package/scripts/verify.mjs +316 -0
- package/tests/catalog-audit.test.mjs +156 -0
- package/tests/e2e/capture-visuals.mjs +34 -0
- package/tests/e2e/catalog-typography.spec.ts +110 -0
- package/tests/e2e/catalog.spec.ts +68 -0
- package/tests/e2e/direction.spec.ts +60 -0
- package/tests/e2e/responsive.spec.ts +30 -0
- package/tests/e2e/surfaces.spec.ts +51 -0
- package/tests/i18n.test.mjs +36 -0
- package/tests/icons.test.mjs +21 -0
- package/tests/registry-publication.test.mjs +88 -0
- package/tests/registry.test.mjs +51 -0
- package/tests/rtl.test.mjs +21 -0
- package/tests/static-app.test.mjs +49 -0
- package/tests/tokens.test.mjs +24 -0
- package/tests/workspace.test.mjs +25 -0
- package/tsconfig.base.json +69 -0
- package/tsconfig.json +27 -0
- package/tsconfig.verify.json +19 -0
- package/types/offline-react.d.ts +73 -0
- package/vitest.config.ts +91 -0
package/artifacts/original-delivery/noe-design-system-evidence/evidence/verification-result.json
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedAt": "2026-08-25T17:22:17.802Z",
|
|
3
|
+
"summary": {
|
|
4
|
+
"passed": 31,
|
|
5
|
+
"failed": 0,
|
|
6
|
+
"total": 31
|
|
7
|
+
},
|
|
8
|
+
"results": [
|
|
9
|
+
{
|
|
10
|
+
"name": "i18n catalog parity",
|
|
11
|
+
"status": "PASS",
|
|
12
|
+
"detail": "71 English keys / 71 Persian keys"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "i18n catalog breadth",
|
|
16
|
+
"status": "PASS",
|
|
17
|
+
"detail": "71 keys"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "semantic token JSON",
|
|
21
|
+
"status": "PASS",
|
|
22
|
+
"detail": "background, surface, foreground, accent, border"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "independent themes",
|
|
26
|
+
"status": "PASS",
|
|
27
|
+
"detail": "light and dark definitions found"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "OKLCH colors",
|
|
31
|
+
"status": "PASS",
|
|
32
|
+
"detail": "40 OKLCH uses"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "registry unique names",
|
|
36
|
+
"status": "PASS",
|
|
37
|
+
"detail": "16 items"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "registry source references",
|
|
41
|
+
"status": "PASS",
|
|
42
|
+
"detail": "16 references resolved"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "registry agent descriptions",
|
|
46
|
+
"status": "PASS",
|
|
47
|
+
"detail": "semantic descriptions present"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "registry item output",
|
|
51
|
+
"status": "PASS",
|
|
52
|
+
"detail": "16 item JSON files"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "logical CSS policy",
|
|
56
|
+
"status": "PASS",
|
|
57
|
+
"detail": "32 source files audited"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "no global icon mirror",
|
|
61
|
+
"status": "PASS",
|
|
62
|
+
"detail": "mirroring scoped to .logical-icon"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "portal direction propagation",
|
|
66
|
+
"status": "PASS",
|
|
67
|
+
"detail": "DirectionPortal wraps portalled content"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "logical drawer sides",
|
|
71
|
+
"status": "PASS",
|
|
72
|
+
"detail": "start/end contract"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "reference surface: consumer",
|
|
76
|
+
"status": "PASS",
|
|
77
|
+
"detail": "surface found"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "reference surface: dashboard",
|
|
81
|
+
"status": "PASS",
|
|
82
|
+
"detail": "surface found"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "reference surface: agent",
|
|
86
|
+
"status": "PASS",
|
|
87
|
+
"detail": "surface found"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "reference surface: workflow",
|
|
91
|
+
"status": "PASS",
|
|
92
|
+
"detail": "surface found"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "reference locale: en",
|
|
96
|
+
"status": "PASS",
|
|
97
|
+
"detail": "locale found"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "reference locale: fa",
|
|
101
|
+
"status": "PASS",
|
|
102
|
+
"detail": "locale found"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "reference locale: en-XA",
|
|
106
|
+
"status": "PASS",
|
|
107
|
+
"detail": "locale found"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "reference locale: ar-XB",
|
|
111
|
+
"status": "PASS",
|
|
112
|
+
"detail": "locale found"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "document locale application",
|
|
116
|
+
"status": "PASS",
|
|
117
|
+
"detail": "lang and dir resolved through canonical runtime"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "technical bidi isolation",
|
|
121
|
+
"status": "PASS",
|
|
122
|
+
"detail": "technical values are isolated"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "workflow least privilege",
|
|
126
|
+
"status": "PASS",
|
|
127
|
+
"detail": "2 workflows"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "no privileged PR target",
|
|
131
|
+
"status": "PASS",
|
|
132
|
+
"detail": "pull_request_target absent"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "no hidden workflow failures",
|
|
136
|
+
"status": "PASS",
|
|
137
|
+
"detail": "failure masking absent"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "immutable action references",
|
|
141
|
+
"status": "PASS",
|
|
142
|
+
"detail": "8 full SHA references"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "secret scan",
|
|
146
|
+
"status": "PASS",
|
|
147
|
+
"detail": "128 files scanned"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "documentation inventory",
|
|
151
|
+
"status": "PASS",
|
|
152
|
+
"detail": "19 design-system documents"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "ADR inventory",
|
|
156
|
+
"status": "PASS",
|
|
157
|
+
"detail": "4 ADRs"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "Storybook story inventory",
|
|
161
|
+
"status": "PASS",
|
|
162
|
+
"detail": "4 story files"
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
}
|
package/artifacts/original-delivery/noe-design-system-evidence/evidence/verification-result.txt
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
PASS i18n catalog parity 71 English keys / 71 Persian keys
|
|
2
|
+
PASS i18n catalog breadth 71 keys
|
|
3
|
+
PASS semantic token JSON background, surface, foreground, accent, border
|
|
4
|
+
PASS independent themes light and dark definitions found
|
|
5
|
+
PASS OKLCH colors 40 OKLCH uses
|
|
6
|
+
PASS registry unique names 16 items
|
|
7
|
+
PASS registry source references 16 references resolved
|
|
8
|
+
PASS registry agent descriptions semantic descriptions present
|
|
9
|
+
PASS registry item output 16 item JSON files
|
|
10
|
+
PASS logical CSS policy 32 source files audited
|
|
11
|
+
PASS no global icon mirror mirroring scoped to .logical-icon
|
|
12
|
+
PASS portal direction propagation DirectionPortal wraps portalled content
|
|
13
|
+
PASS logical drawer sides start/end contract
|
|
14
|
+
PASS reference surface: consumer surface found
|
|
15
|
+
PASS reference surface: dashboard surface found
|
|
16
|
+
PASS reference surface: agent surface found
|
|
17
|
+
PASS reference surface: workflow surface found
|
|
18
|
+
PASS reference locale: en locale found
|
|
19
|
+
PASS reference locale: fa locale found
|
|
20
|
+
PASS reference locale: en-XA locale found
|
|
21
|
+
PASS reference locale: ar-XB locale found
|
|
22
|
+
PASS document locale application lang and dir resolved through canonical runtime
|
|
23
|
+
PASS technical bidi isolation technical values are isolated
|
|
24
|
+
PASS workflow least privilege 2 workflows
|
|
25
|
+
PASS no privileged PR target pull_request_target absent
|
|
26
|
+
PASS no hidden workflow failures failure masking absent
|
|
27
|
+
PASS immutable action references 8 full SHA references
|
|
28
|
+
PASS secret scan 128 files scanned
|
|
29
|
+
PASS documentation inventory 19 design-system documents
|
|
30
|
+
PASS ADR inventory 4 ADRs
|
|
31
|
+
PASS Storybook story inventory 4 story files
|
|
32
|
+
SUMMARY 31 passed / 0 failed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width"><title>NOE Visual Evidence</title><style>body{font-family:system-ui;margin:0;padding:2rem;background:#f2f0ec;color:#23211f}h1{letter-spacing:-.04em}main{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}article{background:white;border:1px solid #d9d4cd;border-radius:12px;overflow:hidden}img{display:block;width:100%;height:220px;object-fit:cover;object-position:top}h2,p{margin:.75rem 1rem}h2{font-size:.8rem;overflow-wrap:anywhere}p{font-size:.7rem;color:#6c665f}</style></head><body><h1>NOE visual evidence</h1><p>28 deterministic Chromium captures.</p><main><article><a href="screenshots/agent-en-dark-1024.png"><img src="screenshots/agent-en-dark-1024.png" alt="agent-en-dark-1024.png" loading="lazy"></a><h2>agent-en-dark-1024.png</h2><p>1024×900 · 92,558 bytes</p></article><article><a href="screenshots/agent-en-dark-1280.png"><img src="screenshots/agent-en-dark-1280.png" alt="agent-en-dark-1280.png" loading="lazy"></a><h2>agent-en-dark-1280.png</h2><p>1280×900 · 151,144 bytes</p></article><article><a href="screenshots/agent-en-dark-1440.png"><img src="screenshots/agent-en-dark-1440.png" alt="agent-en-dark-1440.png" loading="lazy"></a><h2>agent-en-dark-1440.png</h2><p>1440×900 · 162,992 bytes</p></article><article><a href="screenshots/agent-en-dark-390.png"><img src="screenshots/agent-en-dark-390.png" alt="agent-en-dark-390.png" loading="lazy"></a><h2>agent-en-dark-390.png</h2><p>390×844 · 51,792 bytes</p></article><article><a href="screenshots/agent-en-dark-768.png"><img src="screenshots/agent-en-dark-768.png" alt="agent-en-dark-768.png" loading="lazy"></a><h2>agent-en-dark-768.png</h2><p>768×900 · 72,921 bytes</p></article><article><a href="screenshots/agent-en-light-1024.png"><img src="screenshots/agent-en-light-1024.png" alt="agent-en-light-1024.png" loading="lazy"></a><h2>agent-en-light-1024.png</h2><p>1024×900 · 92,116 bytes</p></article><article><a href="screenshots/agent-en-light-1280.png"><img src="screenshots/agent-en-light-1280.png" alt="agent-en-light-1280.png" loading="lazy"></a><h2>agent-en-light-1280.png</h2><p>1280×900 · 149,654 bytes</p></article><article><a href="screenshots/agent-en-light-1440.png"><img src="screenshots/agent-en-light-1440.png" alt="agent-en-light-1440.png" loading="lazy"></a><h2>agent-en-light-1440.png</h2><p>1440×900 · 161,276 bytes</p></article><article><a href="screenshots/agent-en-light-390.png"><img src="screenshots/agent-en-light-390.png" alt="agent-en-light-390.png" loading="lazy"></a><h2>agent-en-light-390.png</h2><p>390×844 · 52,212 bytes</p></article><article><a href="screenshots/agent-en-light-768.png"><img src="screenshots/agent-en-light-768.png" alt="agent-en-light-768.png" loading="lazy"></a><h2>agent-en-light-768.png</h2><p>768×900 · 72,554 bytes</p></article><article><a href="screenshots/agent-fa-dark-1024.png"><img src="screenshots/agent-fa-dark-1024.png" alt="agent-fa-dark-1024.png" loading="lazy"></a><h2>agent-fa-dark-1024.png</h2><p>1024×900 · 86,198 bytes</p></article><article><a href="screenshots/agent-fa-dark-1280.png"><img src="screenshots/agent-fa-dark-1280.png" alt="agent-fa-dark-1280.png" loading="lazy"></a><h2>agent-fa-dark-1280.png</h2><p>1280×900 · 149,212 bytes</p></article><article><a href="screenshots/agent-fa-dark-1440.png"><img src="screenshots/agent-fa-dark-1440.png" alt="agent-fa-dark-1440.png" loading="lazy"></a><h2>agent-fa-dark-1440.png</h2><p>1440×900 · 157,403 bytes</p></article><article><a href="screenshots/agent-fa-dark-390.png"><img src="screenshots/agent-fa-dark-390.png" alt="agent-fa-dark-390.png" loading="lazy"></a><h2>agent-fa-dark-390.png</h2><p>390×844 · 48,719 bytes</p></article><article><a href="screenshots/agent-fa-dark-768.png"><img src="screenshots/agent-fa-dark-768.png" alt="agent-fa-dark-768.png" loading="lazy"></a><h2>agent-fa-dark-768.png</h2><p>768×900 · 69,556 bytes</p></article><article><a href="screenshots/agent-fa-light-1024.png"><img src="screenshots/agent-fa-light-1024.png" alt="agent-fa-light-1024.png" loading="lazy"></a><h2>agent-fa-light-1024.png</h2><p>1024×900 · 86,862 bytes</p></article><article><a href="screenshots/agent-fa-light-1280.png"><img src="screenshots/agent-fa-light-1280.png" alt="agent-fa-light-1280.png" loading="lazy"></a><h2>agent-fa-light-1280.png</h2><p>1280×900 · 148,740 bytes</p></article><article><a href="screenshots/agent-fa-light-1440.png"><img src="screenshots/agent-fa-light-1440.png" alt="agent-fa-light-1440.png" loading="lazy"></a><h2>agent-fa-light-1440.png</h2><p>1440×900 · 157,262 bytes</p></article><article><a href="screenshots/agent-fa-light-390.png"><img src="screenshots/agent-fa-light-390.png" alt="agent-fa-light-390.png" loading="lazy"></a><h2>agent-fa-light-390.png</h2><p>390×844 · 48,784 bytes</p></article><article><a href="screenshots/agent-fa-light-768.png"><img src="screenshots/agent-fa-light-768.png" alt="agent-fa-light-768.png" loading="lazy"></a><h2>agent-fa-light-768.png</h2><p>768×900 · 69,669 bytes</p></article><article><a href="screenshots/agent-pseudo-ltr-1024.png"><img src="screenshots/agent-pseudo-ltr-1024.png" alt="agent-pseudo-ltr-1024.png" loading="lazy"></a><h2>agent-pseudo-ltr-1024.png</h2><p>1024×900 · 100,817 bytes</p></article><article><a href="screenshots/agent-pseudo-rtl-1024.png"><img src="screenshots/agent-pseudo-rtl-1024.png" alt="agent-pseudo-rtl-1024.png" loading="lazy"></a><h2>agent-pseudo-rtl-1024.png</h2><p>1024×900 · 101,981 bytes</p></article><article><a href="screenshots/consumer-en-light-1440.png"><img src="screenshots/consumer-en-light-1440.png" alt="consumer-en-light-1440.png" loading="lazy"></a><h2>consumer-en-light-1440.png</h2><p>1440×900 · 131,583 bytes</p></article><article><a href="screenshots/consumer-fa-dark-1440.png"><img src="screenshots/consumer-fa-dark-1440.png" alt="consumer-fa-dark-1440.png" loading="lazy"></a><h2>consumer-fa-dark-1440.png</h2><p>1440×900 · 117,327 bytes</p></article><article><a href="screenshots/dashboard-en-light-1440.png"><img src="screenshots/dashboard-en-light-1440.png" alt="dashboard-en-light-1440.png" loading="lazy"></a><h2>dashboard-en-light-1440.png</h2><p>1440×900 · 111,727 bytes</p></article><article><a href="screenshots/dashboard-fa-dark-1440.png"><img src="screenshots/dashboard-fa-dark-1440.png" alt="dashboard-fa-dark-1440.png" loading="lazy"></a><h2>dashboard-fa-dark-1440.png</h2><p>1440×900 · 104,606 bytes</p></article><article><a href="screenshots/workflow-en-light-1440.png"><img src="screenshots/workflow-en-light-1440.png" alt="workflow-en-light-1440.png" loading="lazy"></a><h2>workflow-en-light-1440.png</h2><p>1440×900 · 121,545 bytes</p></article><article><a href="screenshots/workflow-fa-dark-1440.png"><img src="screenshots/workflow-fa-dark-1440.png" alt="workflow-fa-dark-1440.png" loading="lazy"></a><h2>workflow-fa-dark-1440.png</h2><p>1440×900 · 125,263 bytes</p></article></main></body></html>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedAt": "2026-08-25T17:23:40Z",
|
|
3
|
+
"branch": "feat/noe-design-system-foundation",
|
|
4
|
+
"head": "cfad6ad8869b8f55494baa3fee9801289d137de9",
|
|
5
|
+
"main": "e47d32e9a09d7b1ad07976c2cfe9548b239ef313",
|
|
6
|
+
"commits": [
|
|
7
|
+
{
|
|
8
|
+
"sha": "e47d32e9a09d7b1ad07976c2cfe9548b239ef313",
|
|
9
|
+
"subject": "chore: initialize NOE design system repository"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"sha": "2cdfcb55864de62d013a08d7f98618c958751694",
|
|
13
|
+
"subject": "feat(foundation): add semantic tokens and bidirectional primitives"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"sha": "b3c851beddc897dcc2646def9b1d7802e87899de",
|
|
17
|
+
"subject": "feat(surfaces): add registry, Storybook and product references"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"sha": "cfad6ad8869b8f55494baa3fee9801289d137de9",
|
|
21
|
+
"subject": "ci: add verification, governance and delivery guidance"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"manifest": "noe-design-system-manifest.json"
|
|
25
|
+
}
|
package/artifacts/original-delivery/noe-design-system-evidence/noe-design-system-execution-report.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# NOE Design System — Execution and Delivery Report
|
|
2
|
+
|
|
3
|
+
Generated: `2026-08-25T17:23:40Z`
|
|
4
|
+
Branch: `feat/noe-design-system-foundation`
|
|
5
|
+
Final local commit: `cfad6ad8869b8f55494baa3fee9801289d137de9`
|
|
6
|
+
|
|
7
|
+
## What was repaired
|
|
8
|
+
|
|
9
|
+
The previous download set was invalid: only placeholder index/integrity files existed, while the referenced source archive, Git bundle, evidence archive and reports were absent. This delivery replaces those placeholders with real artifacts and validates every archive before it is linked.
|
|
10
|
+
|
|
11
|
+
During the repair pass, additional implementation defects were found and fixed:
|
|
12
|
+
|
|
13
|
+
- RTL-only centering pushed the bottom reference controls off-screen. It now uses logical, direction-independent centering.
|
|
14
|
+
- Mobile reference controls hid one selector. They now render as a three-column, fully reachable control grid.
|
|
15
|
+
- The workflow output node was clipped and RTL graph coordinates did not align with edges. The graph now preserves a deliberate physical flow coordinate system while node content remains RTL-aware.
|
|
16
|
+
- JSX was stored in `packages/icons/src/index.ts`; it was corrected to `.tsx` and all references were updated.
|
|
17
|
+
- Reusable components contained several hardcoded English labels. Drawer, code, plan, approval, run-inspector and tool-call APIs now receive localizable labels from callers.
|
|
18
|
+
- Strict optional-property and event typing errors in form/dialog primitives were corrected.
|
|
19
|
+
- Browser visual validation now fails on horizontal page overflow, unreachable reference controls, incorrect document direction/language, wrong surface selection or clipped workflow nodes.
|
|
20
|
+
|
|
21
|
+
## Implemented source
|
|
22
|
+
|
|
23
|
+
The tracked repository contains 128 files, including semantic tokens, i18n and pseudo-locales, direction/portal/bidi primitives, reusable core/data/agent/workflow components, 16 registry items, Storybook source, four representative product surfaces, secure GitHub workflow definitions, 19 design-system documents and four ADRs.
|
|
24
|
+
|
|
25
|
+
## Executed checks
|
|
26
|
+
|
|
27
|
+
| Check | Result | Evidence |
|
|
28
|
+
|---|---:|---|
|
|
29
|
+
| Unit tests | **PASS — 13/13** | `evidence/logs/check-all-final.log` |
|
|
30
|
+
| Offline strict TypeScript validation | **PASS** | Same log; packages and Storybook TS/TSX parsed and checked |
|
|
31
|
+
| Source/registry/i18n/RTL/workflow/security verification | **PASS — 31/31** | `evidence/verification-result.json` |
|
|
32
|
+
| Static reference build | **PASS — 33 files** | `dist/build-manifest.json` |
|
|
33
|
+
| Visual browser capture | **PASS — 30 capture requests / 28 unique PNGs** | `evidence/screenshots-manifest.json` |
|
|
34
|
+
| Browser console | **PASS — 0 errors** | `evidence/browser-console.json` |
|
|
35
|
+
| Automated layout audit | **PASS — 0 issues** | `evidence/layout-audit.json` |
|
|
36
|
+
| PNG integrity | **PASS — 28/28** | `evidence/screenshots-manifest.json` |
|
|
37
|
+
| Git integrity and whitespace | **PASS** | `evidence/logs/repository-integrity.log` |
|
|
38
|
+
| Source ZIP clean-extraction verification | **PASS** | Extracted copy completed check-all and visual matrix |
|
|
39
|
+
| Source TAR.GZ listing/extraction verification | **PASS** | Archive listed and required files extracted |
|
|
40
|
+
| Git bundle verification and clean-clone checks | **PASS** | Bundle verified, cloned, correct HEAD checked, check-all passed |
|
|
41
|
+
| Workflow YAML / shell / Node syntax | **PASS** | Same integrity log |
|
|
42
|
+
| Local secret-pattern scan | **PASS** | `evidence/verification-result.json` |
|
|
43
|
+
| Dependency-backed Storybook production build | **NOT EXECUTED** | npm dependencies and a generated lockfile were unavailable |
|
|
44
|
+
| Hosted CodeQL / Dependency Review | **BLOCKED** | No remote repository write, PR or Actions-dispatch capability |
|
|
45
|
+
| Deployment / production validation | **BLOCKED** | No authorized target infrastructure |
|
|
46
|
+
|
|
47
|
+
## Visual coverage
|
|
48
|
+
|
|
49
|
+
The automated matrix covers the agent workspace at 390, 768, 1024, 1280 and 1440 pixels in English/Persian and light/dark themes; representative consumer, dashboard, agent and workflow surfaces in English/light and Persian/dark; and pseudo-LTR/pseudo-RTL agent screens. A consolidated contact sheet and all original PNGs are included in the evidence archive.
|
|
50
|
+
|
|
51
|
+
## Git history
|
|
52
|
+
|
|
53
|
+
- `e47d32e9a09d7b1ad07976c2cfe9548b239ef313` — chore: initialize NOE design system repository
|
|
54
|
+
- `2cdfcb55864de62d013a08d7f98618c958751694` — feat(foundation): add semantic tokens and bidirectional primitives
|
|
55
|
+
- `b3c851beddc897dcc2646def9b1d7802e87899de` — feat(surfaces): add registry, Storybook and product references
|
|
56
|
+
- `cfad6ad8869b8f55494baa3fee9801289d137de9` — ci: add verification, governance and delivery guidance
|
|
57
|
+
|
|
58
|
+
## Honest completion boundary
|
|
59
|
+
|
|
60
|
+
This delivery is a locally implemented and verified source baseline. It does not claim a remote repository, pull request, hosted workflow result, package publication, Storybook deployment or production deployment. Those operations require a write-capable NOE GitHub/deployment connection.
|
package/artifacts/original-delivery/noe-design-system-evidence/noe-design-system-manifest.json
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"generatedAt": "2026-08-25T17:23:40Z",
|
|
4
|
+
"project": "NOE Design System",
|
|
5
|
+
"deliveryStatus": "local implementation verified; remote GitHub and hosted deployment not executed",
|
|
6
|
+
"git": {
|
|
7
|
+
"branch": "feat/noe-design-system-foundation",
|
|
8
|
+
"head": "cfad6ad8869b8f55494baa3fee9801289d137de9",
|
|
9
|
+
"main": "e47d32e9a09d7b1ad07976c2cfe9548b239ef313",
|
|
10
|
+
"commits": [
|
|
11
|
+
{
|
|
12
|
+
"sha": "e47d32e9a09d7b1ad07976c2cfe9548b239ef313",
|
|
13
|
+
"subject": "chore: initialize NOE design system repository"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"sha": "2cdfcb55864de62d013a08d7f98618c958751694",
|
|
17
|
+
"subject": "feat(foundation): add semantic tokens and bidirectional primitives"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"sha": "b3c851beddc897dcc2646def9b1d7802e87899de",
|
|
21
|
+
"subject": "feat(surfaces): add registry, Storybook and product references"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"sha": "cfad6ad8869b8f55494baa3fee9801289d137de9",
|
|
25
|
+
"subject": "ci: add verification, governance and delivery guidance"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"inventory": {
|
|
30
|
+
"trackedFiles": 128,
|
|
31
|
+
"designSystemDocuments": 19,
|
|
32
|
+
"adrs": 4,
|
|
33
|
+
"registryItems": 16,
|
|
34
|
+
"storybookStories": 4,
|
|
35
|
+
"screenshots": 28
|
|
36
|
+
},
|
|
37
|
+
"checks": {
|
|
38
|
+
"unit": {
|
|
39
|
+
"status": "PASS",
|
|
40
|
+
"passed": 13,
|
|
41
|
+
"failed": 0,
|
|
42
|
+
"command": "npm test"
|
|
43
|
+
},
|
|
44
|
+
"offlineTypecheck": {
|
|
45
|
+
"status": "PASS",
|
|
46
|
+
"command": "npm run typecheck:offline",
|
|
47
|
+
"scope": "package and Storybook TypeScript/TSX source using verification-only ambient dependency declarations"
|
|
48
|
+
},
|
|
49
|
+
"sourceVerification": {
|
|
50
|
+
"status": "PASS",
|
|
51
|
+
"passed": 31,
|
|
52
|
+
"failed": 0,
|
|
53
|
+
"command": "npm run verify"
|
|
54
|
+
},
|
|
55
|
+
"staticBuild": {
|
|
56
|
+
"status": "PASS",
|
|
57
|
+
"files": 33,
|
|
58
|
+
"command": "npm run build:static"
|
|
59
|
+
},
|
|
60
|
+
"visual": {
|
|
61
|
+
"status": "PASS",
|
|
62
|
+
"captureRequests": 30,
|
|
63
|
+
"uniquePngs": 28,
|
|
64
|
+
"allPngsValid": true,
|
|
65
|
+
"consoleErrors": 0,
|
|
66
|
+
"layoutIssues": 0,
|
|
67
|
+
"command": "npm run visual"
|
|
68
|
+
},
|
|
69
|
+
"repositoryIntegrity": {
|
|
70
|
+
"status": "PASS",
|
|
71
|
+
"checks": [
|
|
72
|
+
"git diff --check",
|
|
73
|
+
"git fsck --full",
|
|
74
|
+
"clean tracked worktree",
|
|
75
|
+
"workflow YAML parse",
|
|
76
|
+
"shell syntax",
|
|
77
|
+
"Node syntax"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"storybookBuild": {
|
|
81
|
+
"status": "NOT_EXECUTED",
|
|
82
|
+
"reason": "Dependency-backed Storybook packages and lockfile were not available in the restricted execution environment."
|
|
83
|
+
},
|
|
84
|
+
"hostedSecurity": {
|
|
85
|
+
"status": "BLOCKED",
|
|
86
|
+
"reason": "No remote repository write/PR/Actions dispatch capability was available; workflow definitions are included but hosted CodeQL and Dependency Review did not run."
|
|
87
|
+
},
|
|
88
|
+
"deployment": {
|
|
89
|
+
"status": "BLOCKED",
|
|
90
|
+
"reason": "No authorized NOE deployment target was discoverable or writable."
|
|
91
|
+
},
|
|
92
|
+
"archives": {
|
|
93
|
+
"status": "PASS",
|
|
94
|
+
"sourceZip": "extracted; check-all and visual passed",
|
|
95
|
+
"sourceTarGz": "listed and extracted",
|
|
96
|
+
"gitBundle": "git bundle verify; clean clone; expected HEAD; check-all passed",
|
|
97
|
+
"evidenceZip": "unzip integrity test passed"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"knownBoundaries": [
|
|
101
|
+
"This is a verified local implementation baseline, not a production deployment.",
|
|
102
|
+
"Storybook configuration and stories are included; a dependency-backed Storybook production build was not executed.",
|
|
103
|
+
"Firefox and WebKit E2E runs were not executed.",
|
|
104
|
+
"No GitHub repository, Project, issue, pull request, ruleset, package release, or hosted workflow run was created."
|
|
105
|
+
]
|
|
106
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
NOE DESIGN SYSTEM DELIVERY STATUS
|
|
2
|
+
Generated: 2026-08-25T17:23:40Z
|
|
3
|
+
Branch: feat/noe-design-system-foundation
|
|
4
|
+
HEAD: cfad6ad8869b8f55494baa3fee9801289d137de9
|
|
5
|
+
|
|
6
|
+
PASS Unit tests: 13/13
|
|
7
|
+
PASS Offline strict TypeScript verification
|
|
8
|
+
PASS Source/registry/i18n/RTL/security audits: 31/31
|
|
9
|
+
PASS Static build: 33 files
|
|
10
|
+
PASS Visual capture: 30 capture requests, 28 unique valid PNGs
|
|
11
|
+
PASS Browser console errors: 0
|
|
12
|
+
PASS Layout audit issues: 0
|
|
13
|
+
PASS Git/YAML/shell/Node repository integrity checks
|
|
14
|
+
NOT_EXECUTED Dependency-backed Storybook build
|
|
15
|
+
BLOCKED Hosted GitHub Actions, PR, CodeQL, Dependency Review and deployment
|
|
Binary file
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedAt": "2026-08-25T18:35:35.167Z",
|
|
3
|
+
"summary": {
|
|
4
|
+
"passed": 31,
|
|
5
|
+
"failed": 0,
|
|
6
|
+
"total": 31
|
|
7
|
+
},
|
|
8
|
+
"results": [
|
|
9
|
+
{
|
|
10
|
+
"name": "i18n catalog parity",
|
|
11
|
+
"status": "PASS",
|
|
12
|
+
"detail": "71 English keys / 71 Persian keys"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "i18n catalog breadth",
|
|
16
|
+
"status": "PASS",
|
|
17
|
+
"detail": "71 keys"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "semantic token JSON",
|
|
21
|
+
"status": "PASS",
|
|
22
|
+
"detail": "background, surface, foreground, accent, border"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "independent themes",
|
|
26
|
+
"status": "PASS",
|
|
27
|
+
"detail": "light and dark definitions found"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "OKLCH colors",
|
|
31
|
+
"status": "PASS",
|
|
32
|
+
"detail": "40 OKLCH uses"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "registry unique names",
|
|
36
|
+
"status": "PASS",
|
|
37
|
+
"detail": "16 items"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "registry source references",
|
|
41
|
+
"status": "PASS",
|
|
42
|
+
"detail": "16 references resolved"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "registry agent descriptions",
|
|
46
|
+
"status": "PASS",
|
|
47
|
+
"detail": "semantic descriptions present"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "registry item output",
|
|
51
|
+
"status": "PASS",
|
|
52
|
+
"detail": "16 item JSON files"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "logical CSS policy",
|
|
56
|
+
"status": "PASS",
|
|
57
|
+
"detail": "32 source files audited"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "no global icon mirror",
|
|
61
|
+
"status": "PASS",
|
|
62
|
+
"detail": "mirroring scoped to .logical-icon"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "portal direction propagation",
|
|
66
|
+
"status": "PASS",
|
|
67
|
+
"detail": "DirectionPortal wraps portalled content"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "logical drawer sides",
|
|
71
|
+
"status": "PASS",
|
|
72
|
+
"detail": "start/end contract"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "reference surface: consumer",
|
|
76
|
+
"status": "PASS",
|
|
77
|
+
"detail": "surface found"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "reference surface: dashboard",
|
|
81
|
+
"status": "PASS",
|
|
82
|
+
"detail": "surface found"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "reference surface: agent",
|
|
86
|
+
"status": "PASS",
|
|
87
|
+
"detail": "surface found"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "reference surface: workflow",
|
|
91
|
+
"status": "PASS",
|
|
92
|
+
"detail": "surface found"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "reference locale: en",
|
|
96
|
+
"status": "PASS",
|
|
97
|
+
"detail": "locale found"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "reference locale: fa",
|
|
101
|
+
"status": "PASS",
|
|
102
|
+
"detail": "locale found"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "reference locale: en-XA",
|
|
106
|
+
"status": "PASS",
|
|
107
|
+
"detail": "locale found"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "reference locale: ar-XB",
|
|
111
|
+
"status": "PASS",
|
|
112
|
+
"detail": "locale found"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "document locale application",
|
|
116
|
+
"status": "PASS",
|
|
117
|
+
"detail": "lang and dir resolved through canonical runtime"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "technical bidi isolation",
|
|
121
|
+
"status": "PASS",
|
|
122
|
+
"detail": "technical values are isolated"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "workflow least privilege",
|
|
126
|
+
"status": "PASS",
|
|
127
|
+
"detail": "2 workflows"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "no privileged PR target",
|
|
131
|
+
"status": "PASS",
|
|
132
|
+
"detail": "pull_request_target absent"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "no hidden workflow failures",
|
|
136
|
+
"status": "PASS",
|
|
137
|
+
"detail": "failure masking absent"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "immutable action references",
|
|
141
|
+
"status": "PASS",
|
|
142
|
+
"detail": "8 full SHA references"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "secret scan",
|
|
146
|
+
"status": "PASS",
|
|
147
|
+
"detail": "128 files scanned"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "documentation inventory",
|
|
151
|
+
"status": "PASS",
|
|
152
|
+
"detail": "19 design-system documents"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "ADR inventory",
|
|
156
|
+
"status": "PASS",
|
|
157
|
+
"detail": "4 ADRs"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "Storybook story inventory",
|
|
161
|
+
"status": "PASS",
|
|
162
|
+
"detail": "4 story files"
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
PASS i18n catalog parity 71 English keys / 71 Persian keys
|
|
2
|
+
PASS i18n catalog breadth 71 keys
|
|
3
|
+
PASS semantic token JSON background, surface, foreground, accent, border
|
|
4
|
+
PASS independent themes light and dark definitions found
|
|
5
|
+
PASS OKLCH colors 40 OKLCH uses
|
|
6
|
+
PASS registry unique names 16 items
|
|
7
|
+
PASS registry source references 16 references resolved
|
|
8
|
+
PASS registry agent descriptions semantic descriptions present
|
|
9
|
+
PASS registry item output 16 item JSON files
|
|
10
|
+
PASS logical CSS policy 32 source files audited
|
|
11
|
+
PASS no global icon mirror mirroring scoped to .logical-icon
|
|
12
|
+
PASS portal direction propagation DirectionPortal wraps portalled content
|
|
13
|
+
PASS logical drawer sides start/end contract
|
|
14
|
+
PASS reference surface: consumer surface found
|
|
15
|
+
PASS reference surface: dashboard surface found
|
|
16
|
+
PASS reference surface: agent surface found
|
|
17
|
+
PASS reference surface: workflow surface found
|
|
18
|
+
PASS reference locale: en locale found
|
|
19
|
+
PASS reference locale: fa locale found
|
|
20
|
+
PASS reference locale: en-XA locale found
|
|
21
|
+
PASS reference locale: ar-XB locale found
|
|
22
|
+
PASS document locale application lang and dir resolved through canonical runtime
|
|
23
|
+
PASS technical bidi isolation technical values are isolated
|
|
24
|
+
PASS workflow least privilege 2 workflows
|
|
25
|
+
PASS no privileged PR target pull_request_target absent
|
|
26
|
+
PASS no hidden workflow failures failure masking absent
|
|
27
|
+
PASS immutable action references 8 full SHA references
|
|
28
|
+
PASS secret scan 128 files scanned
|
|
29
|
+
PASS documentation inventory 19 design-system documents
|
|
30
|
+
PASS ADR inventory 4 ADRs
|
|
31
|
+
PASS Storybook story inventory 4 story files
|
|
32
|
+
SUMMARY 31 passed / 0 failed
|