{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__platphorm-polymaths",
    "name": "mbarbine__platphorm-polymaths",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-polymaths",
    "relative_path": "github-recent/mbarbine__platphorm-polymaths",
    "remote_url": "git@github.com:mbarbine/platphorm-polymaths.git",
    "default_branch": "main",
    "current_commit": "a079c332d98d4e46629e9fd0265240e2b90c135b"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 200,
      "bytes": 823726
    },
    {
      "language": "YAML",
      "files": 4,
      "bytes": 287262
    },
    {
      "language": "JSON",
      "files": 7,
      "bytes": 247896
    },
    {
      "language": "Markdown",
      "files": 15,
      "bytes": 90377
    },
    {
      "language": "CSS",
      "files": 2,
      "bytes": 11581
    },
    {
      "language": "Dockerfile",
      "files": 1,
      "bytes": 519
    },
    {
      "language": "JavaScript",
      "files": 2,
      "bytes": 349
    }
  ],
  "frameworks": [
    {
      "name": "Next.js",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "React",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Tailwind CSS",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Vitest",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    }
  ],
  "packages": {
    "package_manager": "pnpm",
    "manifests": [
      {
        "path": "package.json",
        "name": "my-project",
        "version": "0.1.0",
        "scripts": {
          "dev": "next dev",
          "build": "next build",
          "start": "next start",
          "lint": "eslint .",
          "test": "vitest run",
          "test:watch": "vitest",
          "test:coverage": "vitest run --coverage",
          "test:e2e": "playwright test"
        },
        "dependencies": {
          "@ai-sdk/react": "^3.0.118",
          "@hookform/resolvers": "^3.9.1",
          "@radix-ui/react-accordion": "1.2.12",
          "@radix-ui/react-alert-dialog": "1.1.15",
          "@radix-ui/react-aspect-ratio": "1.1.8",
          "@radix-ui/react-avatar": "1.1.11",
          "@radix-ui/react-checkbox": "1.3.3",
          "@radix-ui/react-collapsible": "1.1.12",
          "@radix-ui/react-context-menu": "2.2.16",
          "@radix-ui/react-dialog": "1.1.15",
          "@radix-ui/react-dropdown-menu": "2.1.16",
          "@radix-ui/react-hover-card": "1.1.15",
          "@radix-ui/react-label": "2.1.8",
          "@radix-ui/react-menubar": "1.1.16",
          "@radix-ui/react-navigation-menu": "1.2.14",
          "@radix-ui/react-popover": "1.1.15",
          "@radix-ui/react-progress": "1.1.8",
          "@radix-ui/react-radio-group": "1.3.8",
          "@radix-ui/react-scroll-area": "1.2.10",
          "@radix-ui/react-select": "2.2.6",
          "@radix-ui/react-separator": "1.1.8",
          "@radix-ui/react-slider": "1.3.6",
          "@radix-ui/react-slot": "1.2.4",
          "@radix-ui/react-switch": "1.2.6",
          "@radix-ui/react-tabs": "1.1.13",
          "@radix-ui/react-toast": "1.2.15",
          "@radix-ui/react-toggle": "1.1.10",
          "@radix-ui/react-toggle-group": "1.1.11",
          "@radix-ui/react-tooltip": "1.2.8",
          "ai": "^6.0.116",
          "autoprefixer": "^10.4.20",
          "class-variance-authority": "^0.7.1",
          "clsx": "^2.1.1",
          "cmdk": "1.1.1",
          "date-fns": "4.1.0",
          "embla-carousel-react": "8.6.0",
          "framer-motion": "^12.35.0",
          "input-otp": "1.4.2",
          "lucide-react": "^0.564.0",
          "next": "16.1.6",
          "next-themes": "^0.4.6",
          "react": "19.2.4",
          "react-day-picker": "9.13.2",
          "react-dom": "19.2.4",
          "react-hook-form": "^7.54.1",
          "react-resizable-panels": "^2.1.7",
          "recharts": "2.15.0",
          "sonner": "^1.7.1",
          "tailwind-merge": "^3.3.1",
          "vaul": "^1.1.2",
          "zod": "^3.24.1"
        },
        "dev_dependencies": {
          "@playwright/test": "^1.58.2",
          "@tailwindcss/postcss": "^4.2.0",
          "@testing-library/jest-dom": "6.6.3",
          "@testing-library/react": "16.3.0",
          "@types/node": "^22",
          "@types/react": "19.2.14",
          "@types/react-dom": "19.2.3",
          "@typescript-eslint/eslint-plugin": "8.0.0",
          "@typescript-eslint/parser": "8.0.0",
          "eslint": "8.57.0",
          "eslint-config-next": "14.2.5",
          "jsdom": "26.1.0",
          "postcss": "^8.5",
          "tailwindcss": "^4.2.0",
          "tw-animate-css": "1.3.3",
          "typescript": "5.7.3",
          "vitest": "3.2.3"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/cron/refresh",
        "source_path": "app/api/cron/refresh/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/docs/openapi.json",
        "source_path": "app/api/docs/openapi.json/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/health",
        "source_path": "app/api/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/mcp",
        "source_path": "app/api/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "OPTIONS",
          "POST"
        ]
      },
      {
        "route": "/mentor/chat",
        "source_path": "app/api/mentor/chat/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/mentor/publish",
        "source_path": "app/api/mentor/publish/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/docs/[slug]",
        "source_path": "app/api/v1/docs/[slug]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/docs",
        "source_path": "app/api/v1/docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/health",
        "source_path": "app/api/v1/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/knowledge-map",
        "source_path": "app/api/v1/knowledge-map/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/learning-paths/[id]",
        "source_path": "app/api/v1/learning-paths/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/learning-paths",
        "source_path": "app/api/v1/learning-paths/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/mentor",
        "source_path": "app/api/v1/mentor/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/mentor/status",
        "source_path": "app/api/v1/mentor/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/methodology/[slug]",
        "source_path": "app/api/v1/methodology/[slug]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/methodology",
        "source_path": "app/api/v1/methodology/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network",
        "source_path": "app/api/v1/network/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/polymaths/[slug]",
        "source_path": "app/api/v1/polymaths/[slug]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/polymaths",
        "source_path": "app/api/v1/polymaths/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/principles/[slug]",
        "source_path": "app/api/v1/principles/[slug]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/principles",
        "source_path": "app/api/v1/principles/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/quotes",
        "source_path": "app/api/v1/quotes/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/resources/[slug]",
        "source_path": "app/api/v1/resources/[slug]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/resources",
        "source_path": "app/api/v1/resources/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/timeline",
        "source_path": "app/api/v1/timeline/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/about",
        "source_path": "app/about/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/accessibility",
        "source_path": "app/accessibility/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/api/docs",
        "source_path": "app/api/docs/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/community",
        "source_path": "app/community/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/data-policy",
        "source_path": "app/data-policy/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/faq",
        "source_path": "app/faq/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/learn/getting-started",
        "source_path": "app/learn/getting-started/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/learn/methodology",
        "source_path": "app/learn/methodology/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/learn",
        "source_path": "app/learn/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/learn/principles",
        "source_path": "app/learn/principles/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/open-source",
        "source_path": "app/open-source/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/polymaths/[slug]",
        "source_path": "app/polymaths/[slug]/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/polymaths/historical",
        "source_path": "app/polymaths/historical/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/polymaths/modern",
        "source_path": "app/polymaths/modern/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/polymaths",
        "source_path": "app/polymaths/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/polymaths/timeline",
        "source_path": "app/polymaths/timeline/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/privacy",
        "source_path": "app/privacy/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/resources/community",
        "source_path": "app/resources/community/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/resources",
        "source_path": "app/resources/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/resources/reading-list",
        "source_path": "app/resources/reading-list/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/resources/tools",
        "source_path": "app/resources/tools/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/terms",
        "source_path": "app/terms/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [
    {
      "name": "back-to-top.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/back-to-top.test.tsx"
    },
    {
      "name": "breadcrumb.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/breadcrumb.test.tsx"
    },
    {
      "name": "breadcrumbs.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/breadcrumbs.test.tsx"
    },
    {
      "name": "faq-section.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/faq-section.test.tsx"
    },
    {
      "name": "not-found.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/not-found.test.tsx"
    },
    {
      "name": "faq-section.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/sections/faq-section.test.tsx"
    },
    {
      "name": "skip-to-content.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/skip-to-content.test.tsx"
    },
    {
      "name": "analytics-wrapper",
      "kind": "ui-component",
      "source_path": "components/analytics-wrapper.tsx"
    },
    {
      "name": "animated-counter",
      "kind": "ui-component",
      "source_path": "components/animated-counter.tsx"
    },
    {
      "name": "back-to-top",
      "kind": "ui-component",
      "source_path": "components/back-to-top.tsx"
    },
    {
      "name": "breadcrumbs",
      "kind": "ui-component",
      "source_path": "components/breadcrumbs.tsx"
    },
    {
      "name": "cursor-effect",
      "kind": "ui-component",
      "source_path": "components/cursor-effect.tsx"
    },
    {
      "name": "glass-card",
      "kind": "ui-component",
      "source_path": "components/glass-card.tsx"
    },
    {
      "name": "json-ld",
      "kind": "ui-component",
      "source_path": "components/json-ld.tsx"
    },
    {
      "name": "knowledge-graph",
      "kind": "ui-component",
      "source_path": "components/knowledge-graph.tsx"
    },
    {
      "name": "learning-path-builder",
      "kind": "ui-component",
      "source_path": "components/learning-path-builder.tsx"
    },
    {
      "name": "polymath-logo",
      "kind": "ui-component",
      "source_path": "components/polymath-logo.tsx"
    },
    {
      "name": "polymath-mentor",
      "kind": "ui-component",
      "source_path": "components/polymath-mentor.tsx"
    },
    {
      "name": "scroll-reveal",
      "kind": "ui-component",
      "source_path": "components/scroll-reveal.tsx"
    },
    {
      "name": "cta-section",
      "kind": "ui-component",
      "source_path": "components/sections/cta-section.tsx"
    },
    {
      "name": "faq-section",
      "kind": "ui-component",
      "source_path": "components/sections/faq-section.tsx"
    },
    {
      "name": "hero-section",
      "kind": "ui-component",
      "source_path": "components/sections/hero-section.tsx"
    },
    {
      "name": "methodology-section",
      "kind": "ui-component",
      "source_path": "components/sections/methodology-section.tsx"
    },
    {
      "name": "polymaths-showcase",
      "kind": "ui-component",
      "source_path": "components/sections/polymaths-showcase.tsx"
    },
    {
      "name": "principles-section",
      "kind": "ui-component",
      "source_path": "components/sections/principles-section.tsx"
    },
    {
      "name": "resources-section",
      "kind": "ui-component",
      "source_path": "components/sections/resources-section.tsx"
    },
    {
      "name": "site-footer",
      "kind": "ui-component",
      "source_path": "components/site-footer.tsx"
    },
    {
      "name": "site-header",
      "kind": "ui-component",
      "source_path": "components/site-header.tsx"
    },
    {
      "name": "skip-to-content",
      "kind": "ui-component",
      "source_path": "components/skip-to-content.tsx"
    },
    {
      "name": "theme-provider",
      "kind": "ui-component",
      "source_path": "components/theme-provider.tsx"
    },
    {
      "name": "theme-toggle",
      "kind": "ui-component",
      "source_path": "components/theme-toggle.tsx"
    },
    {
      "name": "accordion",
      "kind": "ui-component",
      "source_path": "components/ui/accordion.tsx"
    },
    {
      "name": "alert-dialog",
      "kind": "ui-component",
      "source_path": "components/ui/alert-dialog.tsx"
    },
    {
      "name": "alert",
      "kind": "ui-component",
      "source_path": "components/ui/alert.tsx"
    },
    {
      "name": "aspect-ratio",
      "kind": "ui-component",
      "source_path": "components/ui/aspect-ratio.tsx"
    },
    {
      "name": "avatar",
      "kind": "ui-component",
      "source_path": "components/ui/avatar.tsx"
    },
    {
      "name": "badge",
      "kind": "ui-component",
      "source_path": "components/ui/badge.tsx"
    },
    {
      "name": "breadcrumb",
      "kind": "ui-component",
      "source_path": "components/ui/breadcrumb.tsx"
    },
    {
      "name": "button-group",
      "kind": "ui-component",
      "source_path": "components/ui/button-group.tsx"
    },
    {
      "name": "button",
      "kind": "ui-component",
      "source_path": "components/ui/button.tsx"
    },
    {
      "name": "calendar",
      "kind": "ui-component",
      "source_path": "components/ui/calendar.tsx"
    },
    {
      "name": "card",
      "kind": "ui-component",
      "source_path": "components/ui/card.tsx"
    },
    {
      "name": "carousel",
      "kind": "ui-component",
      "source_path": "components/ui/carousel.tsx"
    },
    {
      "name": "chart",
      "kind": "ui-component",
      "source_path": "components/ui/chart.tsx"
    },
    {
      "name": "checkbox",
      "kind": "ui-component",
      "source_path": "components/ui/checkbox.tsx"
    },
    {
      "name": "collapsible",
      "kind": "ui-component",
      "source_path": "components/ui/collapsible.tsx"
    },
    {
      "name": "command",
      "kind": "ui-component",
      "source_path": "components/ui/command.tsx"
    },
    {
      "name": "context-menu",
      "kind": "ui-component",
      "source_path": "components/ui/context-menu.tsx"
    },
    {
      "name": "dialog",
      "kind": "ui-component",
      "source_path": "components/ui/dialog.tsx"
    },
    {
      "name": "drawer",
      "kind": "ui-component",
      "source_path": "components/ui/drawer.tsx"
    },
    {
      "name": "dropdown-menu",
      "kind": "ui-component",
      "source_path": "components/ui/dropdown-menu.tsx"
    },
    {
      "name": "empty",
      "kind": "ui-component",
      "source_path": "components/ui/empty.tsx"
    },
    {
      "name": "field",
      "kind": "ui-component",
      "source_path": "components/ui/field.tsx"
    },
    {
      "name": "form",
      "kind": "ui-component",
      "source_path": "components/ui/form.tsx"
    },
    {
      "name": "hover-card",
      "kind": "ui-component",
      "source_path": "components/ui/hover-card.tsx"
    },
    {
      "name": "input-group",
      "kind": "ui-component",
      "source_path": "components/ui/input-group.tsx"
    },
    {
      "name": "input-otp",
      "kind": "ui-component",
      "source_path": "components/ui/input-otp.tsx"
    },
    {
      "name": "input",
      "kind": "ui-component",
      "source_path": "components/ui/input.tsx"
    },
    {
      "name": "item",
      "kind": "ui-component",
      "source_path": "components/ui/item.tsx"
    },
    {
      "name": "kbd",
      "kind": "ui-component",
      "source_path": "components/ui/kbd.tsx"
    },
    {
      "name": "label",
      "kind": "ui-component",
      "source_path": "components/ui/label.tsx"
    },
    {
      "name": "menubar",
      "kind": "ui-component",
      "source_path": "components/ui/menubar.tsx"
    },
    {
      "name": "navigation-menu",
      "kind": "ui-component",
      "source_path": "components/ui/navigation-menu.tsx"
    },
    {
      "name": "pagination",
      "kind": "ui-component",
      "source_path": "components/ui/pagination.tsx"
    },
    {
      "name": "popover",
      "kind": "ui-component",
      "source_path": "components/ui/popover.tsx"
    },
    {
      "name": "progress",
      "kind": "ui-component",
      "source_path": "components/ui/progress.tsx"
    },
    {
      "name": "radio-group",
      "kind": "ui-component",
      "source_path": "components/ui/radio-group.tsx"
    },
    {
      "name": "resizable",
      "kind": "ui-component",
      "source_path": "components/ui/resizable.tsx"
    },
    {
      "name": "scroll-area",
      "kind": "ui-component",
      "source_path": "components/ui/scroll-area.tsx"
    },
    {
      "name": "select",
      "kind": "ui-component",
      "source_path": "components/ui/select.tsx"
    },
    {
      "name": "separator",
      "kind": "ui-component",
      "source_path": "components/ui/separator.tsx"
    },
    {
      "name": "sheet",
      "kind": "ui-component",
      "source_path": "components/ui/sheet.tsx"
    },
    {
      "name": "sidebar",
      "kind": "ui-component",
      "source_path": "components/ui/sidebar.tsx"
    },
    {
      "name": "skeleton",
      "kind": "ui-component",
      "source_path": "components/ui/skeleton.tsx"
    },
    {
      "name": "slider",
      "kind": "ui-component",
      "source_path": "components/ui/slider.tsx"
    },
    {
      "name": "sonner",
      "kind": "ui-component",
      "source_path": "components/ui/sonner.tsx"
    },
    {
      "name": "spinner",
      "kind": "ui-component",
      "source_path": "components/ui/spinner.tsx"
    },
    {
      "name": "switch",
      "kind": "ui-component",
      "source_path": "components/ui/switch.tsx"
    },
    {
      "name": "table",
      "kind": "ui-component",
      "source_path": "components/ui/table.tsx"
    },
    {
      "name": "tabs",
      "kind": "ui-component",
      "source_path": "components/ui/tabs.tsx"
    },
    {
      "name": "textarea",
      "kind": "ui-component",
      "source_path": "components/ui/textarea.tsx"
    },
    {
      "name": "toast",
      "kind": "ui-component",
      "source_path": "components/ui/toast.tsx"
    },
    {
      "name": "toaster",
      "kind": "ui-component",
      "source_path": "components/ui/toaster.tsx"
    },
    {
      "name": "toggle-group",
      "kind": "ui-component",
      "source_path": "components/ui/toggle-group.tsx"
    },
    {
      "name": "toggle",
      "kind": "ui-component",
      "source_path": "components/ui/toggle.tsx"
    },
    {
      "name": "tooltip",
      "kind": "ui-component",
      "source_path": "components/ui/tooltip.tsx"
    },
    {
      "name": "use-mobile",
      "kind": "ui-component",
      "source_path": "components/ui/use-mobile.tsx"
    },
    {
      "name": "vitruvian-animation",
      "kind": "ui-component",
      "source_path": "components/vitruvian-animation.tsx"
    }
  ],
  "data_models": [],
  "database": {
    "databases": [],
    "schemas": [],
    "migrations": []
  },
  "tests": [
    {
      "name": "docs-slug.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/docs-slug.test.ts"
    },
    {
      "name": "docs.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/docs.test.ts"
    },
    {
      "name": "health.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/health.test.ts"
    },
    {
      "name": "methodology.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/methodology.test.ts"
    },
    {
      "name": "network.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/network.test.ts"
    },
    {
      "name": "phase1-platform.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/phase1-platform.test.ts"
    },
    {
      "name": "polymaths-slug.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/polymaths-slug.test.ts"
    },
    {
      "name": "polymaths.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/polymaths.test.ts"
    },
    {
      "name": "principles.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/principles.test.ts"
    },
    {
      "name": "quotes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/api/quotes.test.ts"
    },
    {
      "name": "back-to-top.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/back-to-top.test.tsx"
    },
    {
      "name": "breadcrumb.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/breadcrumb.test.tsx"
    },
    {
      "name": "breadcrumbs.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/breadcrumbs.test.tsx"
    },
    {
      "name": "faq-section.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/faq-section.test.tsx"
    },
    {
      "name": "not-found.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/not-found.test.tsx"
    },
    {
      "name": "faq-section.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/sections/faq-section.test.tsx"
    },
    {
      "name": "skip-to-content.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/skip-to-content.test.tsx"
    },
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/faq/page.test.tsx"
    },
    {
      "name": "config.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/config.test.ts"
    },
    {
      "name": "cosmological-id.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/cosmological-id.test.ts"
    },
    {
      "name": "mcp-types.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/mcp-types.test.ts"
    },
    {
      "name": "polymaths-data.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/polymaths-data.test.ts"
    },
    {
      "name": "utils.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/utils.test.ts"
    },
    {
      "name": "mcp-endpoint.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/mcp/mcp-endpoint.test.ts"
    },
    {
      "name": "mcp-manifest-validation.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/mcp/mcp-manifest-validation.test.ts"
    },
    {
      "name": "platphorm-endpoint.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/mcp/platphorm-endpoint.test.ts"
    },
    {
      "name": "home.spec.ts",
      "kind": "e2e",
      "source_path": "e2e/home.spec.ts"
    },
    {
      "name": "playwright.config.ts",
      "kind": "playwright",
      "source_path": "playwright.config.ts"
    }
  ],
  "ci": {
    "workflows": [
      {
        "path": ".github/workflows/ci.yml"
      },
      {
        "path": ".github/workflows/mcp-validation.yml"
      }
    ]
  },
  "containers": {
    "dockerfiles": [
      {
        "path": "Dockerfile"
      }
    ],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": [
      {
        "name": "AI_GATEWAY_API_KEY",
        "source_paths": [
          "app/api/health/route.ts",
          "app/api/mentor/chat/route.ts",
          "app/api/v1/mentor/route.ts",
          "app/api/v1/mentor/status/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts",
          "lib/polymaths/mcp.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "DATABASE_URL",
        "source_paths": [
          "app/api/health/route.ts",
          "app/llms-index.json/route.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "NODE_ENV",
        "source_paths": [
          "app/api/health/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "OPENAI_API_KEY",
        "source_paths": [
          "app/api/health/route.ts",
          "app/api/mentor/chat/route.ts",
          "app/api/v1/mentor/route.ts",
          "app/api/v1/mentor/status/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts",
          "lib/polymaths/mcp.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "PLATPHORM_API_KEY",
        "source_paths": [
          "lib/platphorm/auth.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "PLATPHORM_REQUIRE_API_KEY",
        "source_paths": [
          "lib/platphorm/auth.ts"
        ],
        "likely_secret": true
      }
    ]
  },
  "configs": [
    {
      "path": "next.config.mjs"
    },
    {
      "path": "package.json"
    },
    {
      "path": "pnpm-workspace.yaml"
    },
    {
      "path": "postcss.config.mjs"
    },
    {
      "path": "tsconfig.json"
    },
    {
      "path": "vercel.json"
    }
  ],
  "docs": {
    "readme_paths": [
      {
        "path": "README.md"
      }
    ],
    "doc_paths": [
      {
        "path": "docs/API.md"
      },
      {
        "path": "docs/ARCHITECTURE.md"
      },
      {
        "path": "docs/GOALS.md"
      },
      {
        "path": "docs/INTEGRATION.md"
      },
      {
        "path": "docs/PRINCIPLES.md"
      },
      {
        "path": "docs/ROADMAP.md"
      },
      {
        "path": "docs/STANDARDS.md"
      },
      {
        "path": "docs/TESTING.md"
      }
    ],
    "llms_context_paths": []
  },
  "discovery_files": {
    "openapi": [],
    "mcp": [
      {
        "path": "app/api/mcp/route.ts"
      },
      {
        "path": "lib/polymaths/mcp.ts"
      }
    ],
    "llms": [],
    "sitemaps": [],
    "feeds": [],
    "well_known": [
      {
        "path": "app/.well-known/agents.json/route.ts"
      },
      {
        "path": "app/.well-known/ai-plugin.json/route.ts"
      },
      {
        "path": "app/.well-known/mcp.json/route.ts"
      },
      {
        "path": "app/.well-known/platphorm.json/route.ts"
      },
      {
        "path": "app/.well-known/security.txt/route.ts"
      },
      {
        "path": "app/.well-known/trust.json/route.ts"
      }
    ],
    "robots": [
      {
        "path": "public/robots.txt"
      }
    ],
    "manifests": []
  },
  "integrations": [
    {
      "name": "OpenAI",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/health/route.ts",
        "app/api/mentor/chat/route.ts",
        "app/api/v1/mentor/route.ts",
        "app/api/v1/mentor/status/route.ts",
        "app/llms-index.json/route.ts",
        "app/llms.txt/route.ts",
        "lib/polymaths/mcp.ts",
        "package.json"
      ]
    },
    {
      "name": "PlatPhorm",
      "confidence": "medium",
      "evidence_paths": [
        "app/.well-known/trust.json/route.ts",
        "app/api/cron/refresh/route.ts",
        "app/api/docs/page.tsx",
        "app/api/mentor/chat/route.ts",
        "app/api/mentor/publish/route.ts",
        "app/api/v1/mentor/route.ts",
        "app/api/v1/mentor/status/route.ts",
        "app/llms-full.txt/route.ts",
        "lib/platphorm/auth.ts",
        "lib/polymaths/openapi.ts",
        "package.json"
      ]
    },
    {
      "name": "Postgres",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/health/route.ts",
        "app/llms-index.json/route.ts",
        "package.json"
      ]
    }
  ],
  "license": {
    "spdx": "MIT",
    "paths": [
      {
        "path": "LICENSE"
      }
    ]
  },
  "comments": [
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 7,
      "text": "Canonical: https://polymaths.platphormnews.com/.well-known/security.txt"
    },
    {
      "kind": "security",
      "source_path": "app/privacy/page.tsx",
      "line": 64,
      "text": "content: `- **Server logs:** Retained for up to 30 days for security and debugging, then deleted."
    },
    {
      "kind": "security",
      "source_path": "CONTRIBUTING.md",
      "line": 109,
      "text": "hotfix/security-patch"
    },
    {
      "kind": "security",
      "source_path": "docs/API.md",
      "line": 63,
      "text": "- `GET /.well-known/security.txt`"
    },
    {
      "kind": "security",
      "source_path": "docs/ARCHITECTURE.md",
      "line": 341,
      "text": "## Security"
    },
    {
      "kind": "security",
      "source_path": "docs/ARCHITECTURE.md",
      "line": 361,
      "text": "key: 'Content-Security-Policy',"
    },
    {
      "kind": "security",
      "source_path": "docs/ROADMAP.md",
      "line": 220,
      "text": "### Security"
    },
    {
      "kind": "security",
      "source_path": "docs/ROADMAP.md",
      "line": 223,
      "text": "- [ ] Security audit"
    },
    {
      "kind": "security",
      "source_path": "docs/STANDARDS.md",
      "line": 302,
      "text": "hotfix/security-patch"
    },
    {
      "kind": "security",
      "source_path": "docs/STANDARDS.md",
      "line": 362,
      "text": "## Security Standards"
    },
    {
      "kind": "security",
      "source_path": "lib/polymaths/content.ts",
      "line": 500,
      "text": "\"/.well-known/security.txt\","
    },
    {
      "kind": "security",
      "source_path": "lib/polymaths/openapi.ts",
      "line": 20,
      "text": "security: [],"
    },
    {
      "kind": "deprecated",
      "source_path": "package-lock.json",
      "line": 6851,
      "text": "\"deprecated\": \"Use @exodus/bytes instead for a more spec-conformant and faster implementation\","
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 500,
      "text": "deprecated: Use @eslint/config-array instead"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 508,
      "text": "deprecated: Use @eslint/object-schema instead"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2513,
      "text": "deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options."
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2680,
      "text": "deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by cont"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2685,
      "text": "deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by cont"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2770,
      "text": "deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful."
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 3438,
      "text": "deprecated: Rimraf versions prior to v4 are no longer supported"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 3882,
      "text": "deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation"
    },
    {
      "kind": "security",
      "source_path": "SECURITY.md",
      "line": 1,
      "text": "# Security Policy"
    },
    {
      "kind": "security",
      "source_path": "SECURITY.md",
      "line": 18,
      "text": "We take security seriously. If you discover a vulnerability, please report it responsibly."
    },
    {
      "kind": "security",
      "source_path": "SECURITY.md",
      "line": 22,
      "text": "1. **Email:** Send details to [hello@platphormnews.com](mailto:hello@platphormnews.com) with the subject line `[SECURITY] Polymaths Vulnerability Report`"
    },
    {
      "kind": "security",
      "source_path": "SECURITY.md",
      "line": 23,
      "text": "2. **Do NOT** open a public GitHub issue for security vulnerabilities"
    },
    {
      "kind": "security",
      "source_path": "SECURITY.md",
      "line": 43,
      "text": "## Security Practices"
    },
    {
      "kind": "security",
      "source_path": "SECURITY.md",
      "line": 51,
      "text": "The application sets the following security headers:"
    },
    {
      "kind": "security",
      "source_path": "SECURITY.md",
      "line": 73,
      "text": "The following are **in scope** for security reports:"
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "dangerously-set-html",
        "confidence": "medium",
        "evidence_paths": [
          "app/polymaths/[slug]/page.tsx",
          "app/polymaths/page.tsx",
          "components/json-ld.tsx",
          "components/ui/chart.tsx"
        ]
      },
      {
        "name": "sql-injection-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "app/feed.xml/route.ts"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          "app/.well-known/trust.json/route.ts",
          "app/api/cron/refresh/route.ts",
          "app/api/docs/page.tsx",
          "app/api/health/route.ts",
          "app/api/mentor/chat/route.ts",
          "app/api/mentor/publish/route.ts",
          "app/api/v1/mentor/route.ts",
          "app/api/v1/mentor/status/route.ts",
          "app/llms-full.txt/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts",
          "docs/API.md",
          "docs/ARCHITECTURE.md",
          "docs/INTEGRATION.md",
          "lib/platphorm/auth.ts",
          "lib/polymaths/mcp.ts",
          "lib/polymaths/openapi.ts"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/components/faq-section.test.tsx",
          "app/about/page.tsx",
          "app/api/docs/page.tsx",
          "app/api/health/route.ts",
          "app/community/layout.tsx",
          "app/community/page.tsx",
          "app/data-policy/page.tsx",
          "app/globals.css",
          "app/layout.tsx",
          "app/learn/getting-started/layout.tsx",
          "app/learn/getting-started/page.tsx",
          "app/learn/methodology/page.tsx",
          "app/learn/page.tsx",
          "app/learn/principles/page.tsx",
          "app/open-source/page.tsx",
          "app/polymaths/[slug]/page.tsx",
          "app/polymaths/historical/page.tsx",
          "app/polymaths/modern/page.tsx",
          "app/polymaths/page.tsx",
          "app/polymaths/timeline/page.tsx"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/lib/config.test.ts",
          "__tests__/mcp/platphorm-endpoint.test.ts",
          "app/.well-known/ai-plugin.json/route.ts",
          "app/.well-known/platphorm.json/route.ts",
          "app/layout.tsx",
          "app/privacy/page.tsx",
          "CODE_OF_CONDUCT.md",
          "CONTRIBUTING.md",
          "lib/platphorm/config.ts",
          "lib/polymaths/openapi.ts",
          "README.md",
          "SECURITY.md"
        ]
      },
      {
        "name": "fingerprint",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/lib/cosmological-id.test.ts",
          "app/data-policy/page.tsx",
          "app/privacy/page.tsx",
          "components/polymath-mentor.tsx",
          "lib/cosmological-id.ts"
        ]
      },
      {
        "name": "health",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/api/health.test.ts",
          "__tests__/lib/config.test.ts",
          "app/api/docs/page.tsx",
          "app/api/health/route.ts",
          "app/api/v1/health/route.ts",
          "app/llms-full.txt/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts",
          "CHANGELOG.md",
          "components/json-ld.tsx",
          "components/sections/faq-section.tsx",
          "docs/API.md",
          "docs/ARCHITECTURE.md",
          "docs/GOALS.md",
          "docs/INTEGRATION.md",
          "docs/PRINCIPLES.md",
          "docs/ROADMAP.md",
          "docs/TESTING.md",
          "lib/platphorm/config.ts",
          "lib/polymaths/mcp.ts"
        ]
      },
      {
        "name": "ip address",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/docs/page.tsx",
          "app/privacy/page.tsx"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          "app/polymaths/timeline/page.tsx",
          "components/sections/methodology-section.tsx",
          "docs/INTEGRATION.md"
        ]
      },
      {
        "name": "oauth",
        "confidence": "medium",
        "evidence_paths": [
          "docs/ROADMAP.md"
        ]
      },
      {
        "name": "pii",
        "confidence": "medium",
        "evidence_paths": [
          "lib/cosmological-id.ts",
          "package-lock.json",
          "pnpm-lock.yaml"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "app/.well-known/trust.json/route.ts",
          "app/data-policy/page.tsx",
          "package-lock.json",
          "pnpm-lock.yaml"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:19.517Z"
}
